Mock Version: 6.0 Mock Version: 6.0 Mock Version: 6.0 ENTER ['do_with_status'](['bash', '--login', '-c', '/usr/bin/rpmbuild -bs --noclean --target x86_64 --nodeps /builddir/build/SPECS/python-ducc0.spec'], chrootPath='/var/lib/mock/f43-build-57057766-6548146/root'env={'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8'}shell=Falselogger=timeout=201600uid=1000gid=425user='mockbuild'unshare_net=TrueprintOutput=Falsenspawn_args=['--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.k5_bfq8a:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/fuse', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11']) Using nspawn with args ['--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.k5_bfq8a:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/fuse', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11'] Executing command: ['/usr/bin/systemd-nspawn', '-q', '-M', '91398165b6da4f6084cb2afa0039c329', '-D', '/var/lib/mock/f43-build-57057766-6548146/root', '-a', '-u', 'mockbuild', '--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.k5_bfq8a:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/fuse', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11', '--console=pipe', '--setenv=TERM=vt100', '--setenv=SHELL=/bin/bash', '--setenv=HOME=/builddir', '--setenv=HOSTNAME=mock', '--setenv=PATH=/usr/bin:/bin:/usr/sbin:/sbin', '--setenv=PROMPT_COMMAND=printf "\\033]0;\\007"', '--setenv=PS1= \\s-\\v\\$ ', '--setenv=LANG=C.UTF-8', '--resolv-conf=off', 'bash', '--login', '-c', '/usr/bin/rpmbuild -bs --noclean --target x86_64 --nodeps /builddir/build/SPECS/python-ducc0.spec'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8', 'SYSTEMD_NSPAWN_TMPFS_TMP': '0', 'SYSTEMD_SECCOMP': '0'} and shell False Building target platforms: x86_64 Building for target x86_64 setting SOURCE_DATE_EPOCH=1735776000 Wrote: /builddir/build/SRPMS/python-ducc0-0.36.0-1.fc43.src.rpm Child return code was: 0 ENTER ['do_with_status'](['bash', '--login', '-c', '/usr/bin/rpmbuild -br --noclean --target x86_64 --nodeps /builddir/build/SPECS/python-ducc0.spec'], chrootPath='/var/lib/mock/f43-build-57057766-6548146/root'env={'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8'}shell=Falselogger=timeout=201600uid=1000gid=425user='mockbuild'unshare_net=TrueraiseExc=FalseprintOutput=Falsenspawn_args=['--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.k5_bfq8a:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/fuse', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11']) Using nspawn with args ['--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.k5_bfq8a:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/fuse', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11'] Executing command: ['/usr/bin/systemd-nspawn', '-q', '-M', '3fe008cd017f43bd87fd721b565fa8be', '-D', '/var/lib/mock/f43-build-57057766-6548146/root', '-a', '-u', 'mockbuild', '--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.k5_bfq8a:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/fuse', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11', '--console=pipe', '--setenv=TERM=vt100', '--setenv=SHELL=/bin/bash', '--setenv=HOME=/builddir', '--setenv=HOSTNAME=mock', '--setenv=PATH=/usr/bin:/bin:/usr/sbin:/sbin', '--setenv=PROMPT_COMMAND=printf "\\033]0;\\007"', '--setenv=PS1= \\s-\\v\\$ ', '--setenv=LANG=C.UTF-8', '--resolv-conf=off', 'bash', '--login', '-c', '/usr/bin/rpmbuild -br --noclean --target x86_64 --nodeps /builddir/build/SPECS/python-ducc0.spec'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8', 'SYSTEMD_NSPAWN_TMPFS_TMP': '0', 'SYSTEMD_SECCOMP': '0'} and shell False Building target platforms: x86_64 Building for target x86_64 setting SOURCE_DATE_EPOCH=1735776000 Executing(%mkbuilddir): /bin/sh -e /var/tmp/rpm-tmp.2PrCRo + umask 022 + cd /builddir/build/BUILD/python-ducc0-0.36.0-build + test -d /builddir/build/BUILD/python-ducc0-0.36.0-build + /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w /builddir/build/BUILD/python-ducc0-0.36.0-build + /usr/bin/rm -rf /builddir/build/BUILD/python-ducc0-0.36.0-build + /usr/bin/mkdir -p /builddir/build/BUILD/python-ducc0-0.36.0-build + /usr/bin/mkdir -p /builddir/build/BUILD/python-ducc0-0.36.0-build/SPECPARTS + RPM_EC=0 ++ jobs -p + exit 0 Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.zMJm21 + umask 022 + cd /builddir/build/BUILD/python-ducc0-0.36.0-build + cd /builddir/build/BUILD/python-ducc0-0.36.0-build + rm -rf ducc0-0.36.0 + /usr/lib/rpm/rpmuncompress -x /builddir/build/SOURCES/ducc0-0.36.0.tar.gz + STATUS=0 + '[' 0 -ne 0 ']' + cd ducc0-0.36.0 + /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w . + rm -rf ducc0.egg-info + sed -i 's|extra_compile_args=extra_compile_args|extra_compile_args=\[\]|g' setup.py + sed -i 's|extra_link_args=python_module_link_args|extra_link_args=\[\]|g' setup.py + RPM_EC=0 ++ jobs -p + exit 0 Executing(%generate_buildrequires): /bin/sh -e /var/tmp/rpm-tmp.jvR1Wp + umask 022 + cd /builddir/build/BUILD/python-ducc0-0.36.0-build + cd ducc0-0.36.0 + echo pyproject-rpm-macros + echo python3-devel + echo 'python3dist(packaging)' + echo 'python3dist(pip) >= 19' + '[' -f pyproject.toml ']' + echo '(python3dist(tomli) if python3-devel < 3.11)' + rm -rfv '*.dist-info/' + '[' -f /usr/bin/python3 ']' + mkdir -p /builddir/build/BUILD/python-ducc0-0.36.0-build/ducc0-0.36.0/.pyproject-builddir + echo -n + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + VALAFLAGS=-g + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn' + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes ' + LT_SYS_LIBRARY_PATH=/usr/lib64: + CC=gcc + CXX=g++ + TMPDIR=/builddir/build/BUILD/python-ducc0-0.36.0-build/ducc0-0.36.0/.pyproject-builddir + RPM_TOXENV=py313 + HOSTNAME=rpmbuild + /usr/bin/python3 -Bs /usr/lib/rpm/redhat/pyproject_buildrequires.py --generate-extras --python3_pkgversion 3 --wheeldir /builddir/build/BUILD/python-ducc0-0.36.0-build/ducc0-0.36.0/pyproject-wheeldir --output /builddir/build/BUILD/python-ducc0-0.36.0-build/python-ducc0-0.36.0-1.fc43.x86_64-pyproject-buildrequires Handling setuptools >= 40.6.0 from build-system.requires Requirement not satisfied: setuptools >= 40.6.0 Handling pybind11 >= 2.6.0 from build-system.requires Requirement not satisfied: pybind11 >= 2.6.0 Handling numpy >= 1.17.0 from build-system.requires Requirement not satisfied: numpy >= 1.17.0 Exiting dependency generation pass: build backend + cat /builddir/build/BUILD/python-ducc0-0.36.0-build/python-ducc0-0.36.0-1.fc43.x86_64-pyproject-buildrequires + rm -rfv '*.dist-info/' + RPM_EC=0 ++ jobs -p + exit 0 Wrote: /builddir/build/SRPMS/python-ducc0-0.36.0-1.fc43.buildreqs.nosrc.rpm Child return code was: 11 Dynamic buildrequires detected Going to install missing buildrequires. See root.log for details. ENTER ['do_with_status'](['bash', '--login', '-c', '/usr/bin/rpmbuild -br --noprep --noclean --target x86_64 --nodeps /builddir/build/SPECS/python-ducc0.spec'], chrootPath='/var/lib/mock/f43-build-57057766-6548146/root'env={'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8'}shell=Falselogger=timeout=201600uid=1000gid=425user='mockbuild'unshare_net=TrueraiseExc=FalseprintOutput=Falsenspawn_args=['--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.k5_bfq8a:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/fuse', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11']) Using nspawn with args ['--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.k5_bfq8a:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/fuse', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11'] Executing command: ['/usr/bin/systemd-nspawn', '-q', '-M', '7e07ebb3d4174b7b8018ffeec0a5516b', '-D', '/var/lib/mock/f43-build-57057766-6548146/root', '-a', '-u', 'mockbuild', '--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.k5_bfq8a:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/fuse', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11', '--console=pipe', '--setenv=TERM=vt100', '--setenv=SHELL=/bin/bash', '--setenv=HOME=/builddir', '--setenv=HOSTNAME=mock', '--setenv=PATH=/usr/bin:/bin:/usr/sbin:/sbin', '--setenv=PROMPT_COMMAND=printf "\\033]0;\\007"', '--setenv=PS1= \\s-\\v\\$ ', '--setenv=LANG=C.UTF-8', '--resolv-conf=off', 'bash', '--login', '-c', '/usr/bin/rpmbuild -br --noprep --noclean --target x86_64 --nodeps /builddir/build/SPECS/python-ducc0.spec'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8', 'SYSTEMD_NSPAWN_TMPFS_TMP': '0', 'SYSTEMD_SECCOMP': '0'} and shell False Building target platforms: x86_64 Building for target x86_64 setting SOURCE_DATE_EPOCH=1735776000 Executing(%generate_buildrequires): /bin/sh -e /var/tmp/rpm-tmp.yFDzLi + umask 022 + cd /builddir/build/BUILD/python-ducc0-0.36.0-build + cd ducc0-0.36.0 + echo pyproject-rpm-macros + echo python3-devel + echo 'python3dist(packaging)' + echo 'python3dist(pip) >= 19' + '[' -f pyproject.toml ']' + echo '(python3dist(tomli) if python3-devel < 3.11)' + rm -rfv '*.dist-info/' + '[' -f /usr/bin/python3 ']' + mkdir -p /builddir/build/BUILD/python-ducc0-0.36.0-build/ducc0-0.36.0/.pyproject-builddir + echo -n + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + VALAFLAGS=-g + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn' + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes ' + LT_SYS_LIBRARY_PATH=/usr/lib64: + CC=gcc + CXX=g++ + TMPDIR=/builddir/build/BUILD/python-ducc0-0.36.0-build/ducc0-0.36.0/.pyproject-builddir + RPM_TOXENV=py313 + HOSTNAME=rpmbuild + /usr/bin/python3 -Bs /usr/lib/rpm/redhat/pyproject_buildrequires.py --generate-extras --python3_pkgversion 3 --wheeldir /builddir/build/BUILD/python-ducc0-0.36.0-build/ducc0-0.36.0/pyproject-wheeldir --output /builddir/build/BUILD/python-ducc0-0.36.0-build/python-ducc0-0.36.0-1.fc43.x86_64-pyproject-buildrequires Handling setuptools >= 40.6.0 from build-system.requires Requirement satisfied: setuptools >= 40.6.0 (installed: setuptools 74.1.3) Handling pybind11 >= 2.6.0 from build-system.requires Requirement satisfied: pybind11 >= 2.6.0 (installed: pybind11 2.13.6) Handling numpy >= 1.17.0 from build-system.requires Requirement satisfied: numpy >= 1.17.0 (installed: numpy 2.2.2) Build environment: Platform: Linux-6.12.10-200.fc41.x86_64-x86_64-with-glibc2.40.9000 Machine: x86_64 System: Linux Architecture: ('64bit', 'ELF') running egg_info writing src/ducc0.egg-info/PKG-INFO writing dependency_links to src/ducc0.egg-info/dependency_links.txt writing requirements to src/ducc0.egg-info/requires.txt writing top-level names to src/ducc0.egg-info/top_level.txt reading manifest file 'src/ducc0.egg-info/SOURCES.txt' adding license file 'LICENSE' writing manifest file 'src/ducc0.egg-info/SOURCES.txt' Build environment: Platform: Linux-6.12.10-200.fc41.x86_64-x86_64-with-glibc2.40.9000 Machine: x86_64 System: Linux Architecture: ('64bit', 'ELF') running dist_info creating ducc0.egg-info writing ducc0.egg-info/PKG-INFO writing dependency_links to ducc0.egg-info/dependency_links.txt writing requirements to ducc0.egg-info/requires.txt writing top-level names to ducc0.egg-info/top_level.txt writing manifest file 'ducc0.egg-info/SOURCES.txt' reading manifest file 'ducc0.egg-info/SOURCES.txt' adding license file 'LICENSE' writing manifest file 'ducc0.egg-info/SOURCES.txt' creating '/builddir/build/BUILD/python-ducc0-0.36.0-build/ducc0-0.36.0/ducc0-0.36.0.dist-info' Handling numpy >=1.17.0 from hook generated metadata: Requires-Dist (ducc0) Requirement satisfied: numpy >=1.17.0 (installed: numpy 2.2.2) + cat /builddir/build/BUILD/python-ducc0-0.36.0-build/python-ducc0-0.36.0-1.fc43.x86_64-pyproject-buildrequires + rm -rfv ducc0-0.36.0.dist-info/ removed 'ducc0-0.36.0.dist-info/top_level.txt' removed 'ducc0-0.36.0.dist-info/METADATA' removed 'ducc0-0.36.0.dist-info/LICENSE' removed directory 'ducc0-0.36.0.dist-info/' + RPM_EC=0 ++ jobs -p + exit 0 Wrote: /builddir/build/SRPMS/python-ducc0-0.36.0-1.fc43.buildreqs.nosrc.rpm Child return code was: 11 Dynamic buildrequires detected Going to install missing buildrequires. See root.log for details. ENTER ['do_with_status'](['bash', '--login', '-c', '/usr/bin/rpmbuild -ba --noprep --noclean --target x86_64 /builddir/build/SPECS/python-ducc0.spec'], chrootPath='/var/lib/mock/f43-build-57057766-6548146/root'env={'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8'}shell=Falselogger=timeout=201600uid=1000gid=425user='mockbuild'unshare_net=TrueprintOutput=Falsenspawn_args=['--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.k5_bfq8a:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/fuse', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11']) Using nspawn with args ['--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.k5_bfq8a:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/fuse', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11'] Executing command: ['/usr/bin/systemd-nspawn', '-q', '-M', 'b4668dbc91a540edbf31176d7b5f0bbd', '-D', '/var/lib/mock/f43-build-57057766-6548146/root', '-a', '-u', 'mockbuild', '--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.k5_bfq8a:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/fuse', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11', '--console=pipe', '--setenv=TERM=vt100', '--setenv=SHELL=/bin/bash', '--setenv=HOME=/builddir', '--setenv=HOSTNAME=mock', '--setenv=PATH=/usr/bin:/bin:/usr/sbin:/sbin', '--setenv=PROMPT_COMMAND=printf "\\033]0;\\007"', '--setenv=PS1= \\s-\\v\\$ ', '--setenv=LANG=C.UTF-8', '--resolv-conf=off', 'bash', '--login', '-c', '/usr/bin/rpmbuild -ba --noprep --noclean --target x86_64 /builddir/build/SPECS/python-ducc0.spec'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8', 'SYSTEMD_NSPAWN_TMPFS_TMP': '0', 'SYSTEMD_SECCOMP': '0'} and shell False Building target platforms: x86_64 Building for target x86_64 setting SOURCE_DATE_EPOCH=1735776000 Executing(%generate_buildrequires): /bin/sh -e /var/tmp/rpm-tmp.l1ED93 + umask 022 + cd /builddir/build/BUILD/python-ducc0-0.36.0-build + cd ducc0-0.36.0 + echo pyproject-rpm-macros + echo python3-devel + echo 'python3dist(packaging)' + echo 'python3dist(pip) >= 19' + '[' -f pyproject.toml ']' + echo '(python3dist(tomli) if python3-devel < 3.11)' + rm -rfv '*.dist-info/' + '[' -f /usr/bin/python3 ']' + mkdir -p /builddir/build/BUILD/python-ducc0-0.36.0-build/ducc0-0.36.0/.pyproject-builddir + echo -n + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + VALAFLAGS=-g + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn' + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes ' + LT_SYS_LIBRARY_PATH=/usr/lib64: + CC=gcc + CXX=g++ + TMPDIR=/builddir/build/BUILD/python-ducc0-0.36.0-build/ducc0-0.36.0/.pyproject-builddir + RPM_TOXENV=py313 + HOSTNAME=rpmbuild + /usr/bin/python3 -Bs /usr/lib/rpm/redhat/pyproject_buildrequires.py --generate-extras --python3_pkgversion 3 --wheeldir /builddir/build/BUILD/python-ducc0-0.36.0-build/ducc0-0.36.0/pyproject-wheeldir --output /builddir/build/BUILD/python-ducc0-0.36.0-build/python-ducc0-0.36.0-1.fc43.x86_64-pyproject-buildrequires Handling setuptools >= 40.6.0 from build-system.requires Requirement satisfied: setuptools >= 40.6.0 (installed: setuptools 74.1.3) Handling pybind11 >= 2.6.0 from build-system.requires Requirement satisfied: pybind11 >= 2.6.0 (installed: pybind11 2.13.6) Handling numpy >= 1.17.0 from build-system.requires Requirement satisfied: numpy >= 1.17.0 (installed: numpy 2.2.2) Build environment: Platform: Linux-6.12.10-200.fc41.x86_64-x86_64-with-glibc2.40.9000 Machine: x86_64 System: Linux Architecture: ('64bit', 'ELF') running egg_info writing src/ducc0.egg-info/PKG-INFO writing dependency_links to src/ducc0.egg-info/dependency_links.txt writing requirements to src/ducc0.egg-info/requires.txt writing top-level names to src/ducc0.egg-info/top_level.txt reading manifest file 'src/ducc0.egg-info/SOURCES.txt' adding license file 'LICENSE' writing manifest file 'src/ducc0.egg-info/SOURCES.txt' Build environment: Platform: Linux-6.12.10-200.fc41.x86_64-x86_64-with-glibc2.40.9000 Machine: x86_64 System: Linux Architecture: ('64bit', 'ELF') running dist_info writing ducc0.egg-info/PKG-INFO writing dependency_links to ducc0.egg-info/dependency_links.txt writing requirements to ducc0.egg-info/requires.txt writing top-level names to ducc0.egg-info/top_level.txt reading manifest file 'ducc0.egg-info/SOURCES.txt' adding license file 'LICENSE' writing manifest file 'ducc0.egg-info/SOURCES.txt' creating '/builddir/build/BUILD/python-ducc0-0.36.0-build/ducc0-0.36.0/ducc0-0.36.0.dist-info' Handling numpy >=1.17.0 from hook generated metadata: Requires-Dist (ducc0) Requirement satisfied: numpy >=1.17.0 (installed: numpy 2.2.2) + cat /builddir/build/BUILD/python-ducc0-0.36.0-build/python-ducc0-0.36.0-1.fc43.x86_64-pyproject-buildrequires + rm -rfv ducc0-0.36.0.dist-info/ removed 'ducc0-0.36.0.dist-info/top_level.txt' removed 'ducc0-0.36.0.dist-info/METADATA' removed 'ducc0-0.36.0.dist-info/LICENSE' removed directory 'ducc0-0.36.0.dist-info/' + RPM_EC=0 ++ jobs -p + exit 0 Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.ppC7eB + umask 022 + cd /builddir/build/BUILD/python-ducc0-0.36.0-build + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CFLAGS + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CXXFLAGS + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + export FFLAGS + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + export FCFLAGS + VALAFLAGS=-g + export VALAFLAGS + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn' + export RUSTFLAGS + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes ' + export LDFLAGS + LT_SYS_LIBRARY_PATH=/usr/lib64: + export LT_SYS_LIBRARY_PATH + CC=gcc + export CC + CXX=g++ + export CXX + cd ducc0-0.36.0 + mkdir -p /builddir/build/BUILD/python-ducc0-0.36.0-build/ducc0-0.36.0/.pyproject-builddir + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + VALAFLAGS=-g + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn' + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes ' + LT_SYS_LIBRARY_PATH=/usr/lib64: + CC=gcc + CXX=g++ + TMPDIR=/builddir/build/BUILD/python-ducc0-0.36.0-build/ducc0-0.36.0/.pyproject-builddir + /usr/bin/python3 -Bs /usr/lib/rpm/redhat/pyproject_wheel.py /builddir/build/BUILD/python-ducc0-0.36.0-build/ducc0-0.36.0/pyproject-wheeldir Processing /builddir/build/BUILD/python-ducc0-0.36.0-build/ducc0-0.36.0 Preparing metadata (pyproject.toml): started Running command Preparing metadata (pyproject.toml) Build environment: Platform: Linux-6.12.10-200.fc41.x86_64-x86_64-with-glibc2.40.9000 Machine: x86_64 System: Linux Architecture: ('64bit', 'ELF') running dist_info creating /builddir/build/BUILD/python-ducc0-0.36.0-build/ducc0-0.36.0/.pyproject-builddir/pip-modern-metadata-rf3ylq_x/ducc0.egg-info writing /builddir/build/BUILD/python-ducc0-0.36.0-build/ducc0-0.36.0/.pyproject-builddir/pip-modern-metadata-rf3ylq_x/ducc0.egg-info/PKG-INFO writing dependency_links to /builddir/build/BUILD/python-ducc0-0.36.0-build/ducc0-0.36.0/.pyproject-builddir/pip-modern-metadata-rf3ylq_x/ducc0.egg-info/dependency_links.txt writing requirements to /builddir/build/BUILD/python-ducc0-0.36.0-build/ducc0-0.36.0/.pyproject-builddir/pip-modern-metadata-rf3ylq_x/ducc0.egg-info/requires.txt writing top-level names to /builddir/build/BUILD/python-ducc0-0.36.0-build/ducc0-0.36.0/.pyproject-builddir/pip-modern-metadata-rf3ylq_x/ducc0.egg-info/top_level.txt writing manifest file '/builddir/build/BUILD/python-ducc0-0.36.0-build/ducc0-0.36.0/.pyproject-builddir/pip-modern-metadata-rf3ylq_x/ducc0.egg-info/SOURCES.txt' reading manifest file '/builddir/build/BUILD/python-ducc0-0.36.0-build/ducc0-0.36.0/.pyproject-builddir/pip-modern-metadata-rf3ylq_x/ducc0.egg-info/SOURCES.txt' adding license file 'LICENSE' writing manifest file '/builddir/build/BUILD/python-ducc0-0.36.0-build/ducc0-0.36.0/.pyproject-builddir/pip-modern-metadata-rf3ylq_x/ducc0.egg-info/SOURCES.txt' creating '/builddir/build/BUILD/python-ducc0-0.36.0-build/ducc0-0.36.0/.pyproject-builddir/pip-modern-metadata-rf3ylq_x/ducc0-0.36.0.dist-info' Preparing metadata (pyproject.toml): finished with status 'done' Building wheels for collected packages: ducc0 Building wheel for ducc0 (pyproject.toml): started Running command Building wheel for ducc0 (pyproject.toml) Build environment: Platform: Linux-6.12.10-200.fc41.x86_64-x86_64-with-glibc2.40.9000 Machine: x86_64 System: Linux Architecture: ('64bit', 'ELF') running bdist_wheel running build running build_py running egg_info writing src/ducc0.egg-info/PKG-INFO writing dependency_links to src/ducc0.egg-info/dependency_links.txt writing requirements to src/ducc0.egg-info/requires.txt writing top-level names to src/ducc0.egg-info/top_level.txt reading manifest file 'src/ducc0.egg-info/SOURCES.txt' adding license file 'LICENSE' writing manifest file 'src/ducc0.egg-info/SOURCES.txt' creating build creating build/lib.linux-x86_64-cpython-313 creating build/lib.linux-x86_64-cpython-313/ducc0 creating build/lib.linux-x86_64-cpython-313/ducc0/bindings copying src/ducc0/bindings/array_descriptor.h -> build/lib.linux-x86_64-cpython-313/ducc0/bindings copying src/ducc0/bindings/pybind_utils.h -> build/lib.linux-x86_64-cpython-313/ducc0/bindings copying src/ducc0/bindings/typecode.h -> build/lib.linux-x86_64-cpython-313/ducc0/bindings creating build/lib.linux-x86_64-cpython-313/ducc0/fft copying src/ducc0/fft/fft.h -> build/lib.linux-x86_64-cpython-313/ducc0/fft copying src/ducc0/fft/fft1d_impl.h -> build/lib.linux-x86_64-cpython-313/ducc0/fft copying src/ducc0/fft/fftnd_impl.h -> build/lib.linux-x86_64-cpython-313/ducc0/fft creating build/lib.linux-x86_64-cpython-313/ducc0/healpix copying src/ducc0/healpix/healpix_base.cc -> build/lib.linux-x86_64-cpython-313/ducc0/healpix copying src/ducc0/healpix/healpix_base.h -> build/lib.linux-x86_64-cpython-313/ducc0/healpix copying src/ducc0/healpix/healpix_tables.cc -> build/lib.linux-x86_64-cpython-313/ducc0/healpix copying src/ducc0/healpix/healpix_tables.h -> build/lib.linux-x86_64-cpython-313/ducc0/healpix creating build/lib.linux-x86_64-cpython-313/ducc0/infra copying src/ducc0/infra/aligned_array.h -> build/lib.linux-x86_64-cpython-313/ducc0/infra copying src/ducc0/infra/bucket_sort.h -> build/lib.linux-x86_64-cpython-313/ducc0/infra copying src/ducc0/infra/error_handling.h -> build/lib.linux-x86_64-cpython-313/ducc0/infra copying src/ducc0/infra/mav.cc -> build/lib.linux-x86_64-cpython-313/ducc0/infra copying src/ducc0/infra/mav.h -> build/lib.linux-x86_64-cpython-313/ducc0/infra copying src/ducc0/infra/misc_utils.h -> build/lib.linux-x86_64-cpython-313/ducc0/infra copying src/ducc0/infra/simd.h -> build/lib.linux-x86_64-cpython-313/ducc0/infra copying src/ducc0/infra/string_utils.cc -> build/lib.linux-x86_64-cpython-313/ducc0/infra copying src/ducc0/infra/string_utils.h -> build/lib.linux-x86_64-cpython-313/ducc0/infra copying src/ducc0/infra/sycl_utils.h -> build/lib.linux-x86_64-cpython-313/ducc0/infra copying src/ducc0/infra/threading.cc -> build/lib.linux-x86_64-cpython-313/ducc0/infra copying src/ducc0/infra/threading.h -> build/lib.linux-x86_64-cpython-313/ducc0/infra copying src/ducc0/infra/timers.h -> build/lib.linux-x86_64-cpython-313/ducc0/infra copying src/ducc0/infra/useful_macros.h -> build/lib.linux-x86_64-cpython-313/ducc0/infra creating build/lib.linux-x86_64-cpython-313/ducc0/math copying src/ducc0/math/cmplx.h -> build/lib.linux-x86_64-cpython-313/ducc0/math copying src/ducc0/math/constants.h -> build/lib.linux-x86_64-cpython-313/ducc0/math copying src/ducc0/math/geom_utils.cc -> build/lib.linux-x86_64-cpython-313/ducc0/math copying src/ducc0/math/geom_utils.h -> build/lib.linux-x86_64-cpython-313/ducc0/math copying src/ducc0/math/gl_integrator.cc -> build/lib.linux-x86_64-cpython-313/ducc0/math copying src/ducc0/math/gl_integrator.h -> build/lib.linux-x86_64-cpython-313/ducc0/math copying src/ducc0/math/gridding_kernel.cc -> build/lib.linux-x86_64-cpython-313/ducc0/math copying src/ducc0/math/gridding_kernel.h -> build/lib.linux-x86_64-cpython-313/ducc0/math copying src/ducc0/math/math_utils.h -> build/lib.linux-x86_64-cpython-313/ducc0/math copying src/ducc0/math/mcm.h -> build/lib.linux-x86_64-cpython-313/ducc0/math copying src/ducc0/math/pointing.cc -> build/lib.linux-x86_64-cpython-313/ducc0/math copying src/ducc0/math/pointing.h -> build/lib.linux-x86_64-cpython-313/ducc0/math copying src/ducc0/math/quaternion.h -> build/lib.linux-x86_64-cpython-313/ducc0/math copying src/ducc0/math/rangeset.h -> build/lib.linux-x86_64-cpython-313/ducc0/math copying src/ducc0/math/solvers.h -> build/lib.linux-x86_64-cpython-313/ducc0/math copying src/ducc0/math/space_filling.cc -> build/lib.linux-x86_64-cpython-313/ducc0/math copying src/ducc0/math/space_filling.h -> build/lib.linux-x86_64-cpython-313/ducc0/math copying src/ducc0/math/unity_roots.h -> build/lib.linux-x86_64-cpython-313/ducc0/math copying src/ducc0/math/vec3.h -> build/lib.linux-x86_64-cpython-313/ducc0/math copying src/ducc0/math/wigner3j.cc -> build/lib.linux-x86_64-cpython-313/ducc0/math copying src/ducc0/math/wigner3j.h -> build/lib.linux-x86_64-cpython-313/ducc0/math creating build/lib.linux-x86_64-cpython-313/ducc0/nufft copying src/ducc0/nufft/nufft.h -> build/lib.linux-x86_64-cpython-313/ducc0/nufft copying src/ducc0/nufft/nufft_common.h -> build/lib.linux-x86_64-cpython-313/ducc0/nufft copying src/ducc0/nufft/spreadinterp.h -> build/lib.linux-x86_64-cpython-313/ducc0/nufft creating build/lib.linux-x86_64-cpython-313/ducc0/sht copying src/ducc0/sht/alm.h -> build/lib.linux-x86_64-cpython-313/ducc0/sht copying src/ducc0/sht/sht.cc -> build/lib.linux-x86_64-cpython-313/ducc0/sht copying src/ducc0/sht/sht.h -> build/lib.linux-x86_64-cpython-313/ducc0/sht copying src/ducc0/sht/sht_utils.h -> build/lib.linux-x86_64-cpython-313/ducc0/sht copying src/ducc0/sht/sphere_interpol.h -> build/lib.linux-x86_64-cpython-313/ducc0/sht copying src/ducc0/sht/totalconvolve.h -> build/lib.linux-x86_64-cpython-313/ducc0/sht creating build/lib.linux-x86_64-cpython-313/ducc0/wgridder copying src/ducc0/wgridder/wgridder.cc -> build/lib.linux-x86_64-cpython-313/ducc0/wgridder copying src/ducc0/wgridder/wgridder.h -> build/lib.linux-x86_64-cpython-313/ducc0/wgridder copying src/ducc0/wgridder/wgridder_sycl.h -> build/lib.linux-x86_64-cpython-313/ducc0/wgridder running build_ext building 'ducc0' extension creating build/temp.linux-x86_64-cpython-313 creating build/temp.linux-x86_64-cpython-313/python g++ -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fPIC -DPKGNAME=ducc0 -DPKGVERSION=0.36.0 -I. -I./src/ -I/usr/include/pybind11 -I/usr/include/pybind11 -I/usr/include/python3.13 -c python/ducc.cc -o build/temp.linux-x86_64-cpython-313/python/ducc.o In file included from python/ducc.cc:9: ./src/ducc0/math/wigner3j.cc: In function ‘void ducc0::detail_wigner3j::wigner3j_00_internal(double, double, double, int, const ducc0::detail_mav::vmav&)’: ./src/ducc0/math/wigner3j.cc:110:6: error: call of ‘(const ducc0::detail_mav::vmav) (int)’ is ambiguous 110 | res(0) = 1.; | ~~~^~~ In file included from ./src/ducc0/infra/mav.cc:56, from python/ducc.cc:3: ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:111:35: error: call of ‘(const ducc0::detail_mav::vmav) (int)’ is ambiguous 111 | double sum = (2.*l1min+1.) * res(0)*res(0); | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:111:42: error: call of ‘(const ducc0::detail_mav::vmav) (int)’ is ambiguous 111 | double sum = (2.*l1min+1.) * res(0)*res(0); | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:133:10: error: call of ‘(const ducc0::detail_mav::vmav) (int)’ is ambiguous 133 | res(i+1) = 0; | ~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:134:20: error: call of ‘(const ducc0::detail_mav::vmav) (int)’ is ambiguous 134 | resx[0] = res(i+2) = -res(i)*tmp1[0]; | ~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:134:32: error: call of ‘(const ducc0::detail_mav::vmav) (int&)’ is ambiguous 134 | resx[0] = res(i+2) = -res(i)*tmp1[0]; | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:137:12: error: call of ‘(const ducc0::detail_mav::vmav) (size_t)’ is ambiguous 137 | res(i+2*m+1) = 0; | ~~~^~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:138:22: error: call of ‘(const ducc0::detail_mav::vmav) (size_t)’ is ambiguous 138 | resx[m] = res(i+2*m+2) = -resx[m-1]*tmp1[m]; | ~~~^~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:154:8: error: call of ‘(const ducc0::detail_mav::vmav) (int)’ is ambiguous 154 | res(i+1) = 0.; | ~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:158:8: error: call of ‘(const ducc0::detail_mav::vmav) (int)’ is ambiguous 158 | res(i+2) = -res(i)*tmp1; | ~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:158:20: error: call of ‘(const ducc0::detail_mav::vmav) (int&)’ is ambiguous 158 | res(i+2) = -res(i)*tmp1; | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:160:28: error: call of ‘(const ducc0::detail_mav::vmav) (int)’ is ambiguous 160 | sum += (2.*l1p1+1.)*res(i+2)*res(i+2); | ~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:160:37: error: call of ‘(const ducc0::detail_mav::vmav) (int)’ is ambiguous 160 | sum += (2.*l1p1+1.)*res(i+2)*res(i+2); | ~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:171:8: error: call of ‘(const ducc0::detail_mav::vmav) (int&)’ is ambiguous 171 | res(k)*=cnorm; | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc: In function ‘void ducc0::detail_wigner3j::wigner3j_internal_block(double, double, double, double, double, double, double, int, const ducc0::detail_mav::vmav&)’: ./src/ducc0/math/wigner3j.cc:208:6: error: call of ‘(const ducc0::detail_mav::vmav) (int&)’ is ambiguous [-Wtemplate-body] 208 | res(i) = srtiny; | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:209:38: error: call of ‘(const ducc0::detail_mav::vmav) (int&)’ is ambiguous [-Wtemplate-body] 209 | double sumfor = (2.*l1min+1.) * res(i)*res(i); | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:209:45: error: call of ‘(const ducc0::detail_mav::vmav) (int&)’ is ambiguous [-Wtemplate-body] 209 | double sumfor = (2.*l1min+1.) * res(i)*res(i); | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:221:8: error: call of ‘(const ducc0::detail_mav::vmav) (int&)’ is ambiguous [-Wtemplate-body] 221 | res(i) = res(i-1)*c1; | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:221:17: error: call of ‘(const ducc0::detail_mav::vmav) (int)’ is ambiguous [-Wtemplate-body] 221 | res(i) = res(i-1)*c1; | ~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:225:29: error: call of ‘(const ducc0::detail_mav::vmav) (int&)’ is ambiguous [-Wtemplate-body] 225 | sumfor += (2.*l1+1.)*res(i)*res(i); | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:225:36: error: call of ‘(const ducc0::detail_mav::vmav) (int&)’ is ambiguous [-Wtemplate-body] 225 | sumfor += (2.*l1+1.)*res(i)*res(i); | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:226:16: error: call of ‘(const ducc0::detail_mav::vmav) (int&)’ is ambiguous [-Wtemplate-body] 226 | if (abs(res(i))>=srhuge) | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:229:12: error: call of ‘(const ducc0::detail_mav::vmav) (int&)’ is ambiguous [-Wtemplate-body] 229 | res(k)*=srtiny; | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:255:10: error: call of ‘(const ducc0::detail_mav::vmav) (int&)’ is ambiguous [-Wtemplate-body] 255 | res(i) = res(i-1)*c1 - res(i-2)*c2v.s[vidx]*oldfac; | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:255:19: error: call of ‘(const ducc0::detail_mav::vmav) (int)’ is ambiguous [-Wtemplate-body] 255 | res(i) = res(i-1)*c1 - res(i-2)*c2v.s[vidx]*oldfac; | ~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:255:33: error: call of ‘(const ducc0::detail_mav::vmav) (int)’ is ambiguous [-Wtemplate-body] 255 | res(i) = res(i-1)*c1 - res(i-2)*c2v.s[vidx]*oldfac; | ~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:259:31: error: call of ‘(const ducc0::detail_mav::vmav) (int&)’ is ambiguous [-Wtemplate-body] 259 | sumfor += (2.*l1+1.)*res(i)*res(i); | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:259:38: error: call of ‘(const ducc0::detail_mav::vmav) (int&)’ is ambiguous [-Wtemplate-body] 259 | sumfor += (2.*l1+1.)*res(i)*res(i); | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:260:18: error: call of ‘(const ducc0::detail_mav::vmav) (int&)’ is ambiguous [-Wtemplate-body] 260 | if (abs(res(i))>=srhuge) | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:263:14: error: call of ‘(const ducc0::detail_mav::vmav) (int&)’ is ambiguous [-Wtemplate-body] 263 | res(k)*=srtiny; | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:281:24: error: call of ‘(const ducc0::detail_mav::vmav) (int)’ is ambiguous [-Wtemplate-body] 281 | const double x1=res(i-2), x2=res(i-1), x3=res(i); | ~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:285:8: error: call of ‘(const ducc0::detail_mav::vmav) (int&)’ is ambiguous [-Wtemplate-body] 285 | res(i) = srtiny; | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:286:33: error: call of ‘(const ducc0::detail_mav::vmav) (int&)’ is ambiguous [-Wtemplate-body] 286 | sumbac = (2.*l1max+1.) * res(i)*res(i); | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:286:40: error: call of ‘(const ducc0::detail_mav::vmav) (int&)’ is ambiguous [-Wtemplate-body] 286 | sumbac = (2.*l1max+1.) * res(i)*res(i); | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:295:8: error: call of ‘(const ducc0::detail_mav::vmav) (int&)’ is ambiguous [-Wtemplate-body] 295 | res(i) = res(i+1)*(2.*l1+3.)*(pre2-(l1p1sq+l1+1.)*m3mm2) | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:295:17: error: call of ‘(const ducc0::detail_mav::vmav) (int)’ is ambiguous [-Wtemplate-body] 295 | res(i) = res(i+1)*(2.*l1+3.)*(pre2-(l1p1sq+l1+1.)*m3mm2) | ~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:300:29: error: call of ‘(const ducc0::detail_mav::vmav) (int&)’ is ambiguous [-Wtemplate-body] 300 | sumbac += (2.*l1+1.)*res(i)*res(i); | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:300:36: error: call of ‘(const ducc0::detail_mav::vmav) (int&)’ is ambiguous [-Wtemplate-body] 300 | sumbac += (2.*l1+1.)*res(i)*res(i); | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:301:16: error: call of ‘(const ducc0::detail_mav::vmav) (int&)’ is ambiguous [-Wtemplate-body] 301 | if (abs(res(i))>=srhuge) | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:304:12: error: call of ‘(const ducc0::detail_mav::vmav) (int&)’ is ambiguous [-Wtemplate-body] 304 | res(k)*=srtiny; | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:331:12: error: call of ‘(const ducc0::detail_mav::vmav) (int&)’ is ambiguous [-Wtemplate-body] 331 | res(i) = res(i+1)*c1v.s[vidx] - res(i+2)*c2v.s[vidx]*oldfac; | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:331:21: error: call of ‘(const ducc0::detail_mav::vmav) (int)’ is ambiguous [-Wtemplate-body] 331 | res(i) = res(i+1)*c1v.s[vidx] - res(i+2)*c2v.s[vidx]*oldfac; | ~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:331:44: error: call of ‘(const ducc0::detail_mav::vmav) (int)’ is ambiguous [-Wtemplate-body] 331 | res(i) = res(i+1)*c1v.s[vidx] - res(i+2)*c2v.s[vidx]*oldfac; | ~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:334:33: error: call of ‘(const ducc0::detail_mav::vmav) (int&)’ is ambiguous [-Wtemplate-body] 334 | sumbac += (2.*l1+1.)*res(i)*res(i); | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:334:40: error: call of ‘(const ducc0::detail_mav::vmav) (int&)’ is ambiguous [-Wtemplate-body] 334 | sumbac += (2.*l1+1.)*res(i)*res(i); | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:335:20: error: call of ‘(const ducc0::detail_mav::vmav) (int&)’ is ambiguous [-Wtemplate-body] 335 | if (abs(res(i))>=srhuge) | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:338:16: error: call of ‘(const ducc0::detail_mav::vmav) (int&)’ is ambiguous [-Wtemplate-body] 338 | res(k)*=srtiny; | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:351:31: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&)’ is ambiguous [-Wtemplate-body] 351 | sumbac -= (2.*l1+1.)*res(i)*res(i); | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:351:38: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&)’ is ambiguous [-Wtemplate-body] 351 | sumbac -= (2.*l1+1.)*res(i)*res(i); | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:354:33: error: call of ‘(const ducc0::detail_mav::vmav) (int&)’ is ambiguous [-Wtemplate-body] 354 | const double ratio = (x1*res(i)+x2*res(i+1)+x3*res(i+2)) | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:354:37: error: ‘x2’ was not declared in this scope; did you mean ‘x1’? [-Wtemplate-body] 354 | const double ratio = (x1*res(i)+x2*res(i+1)+x3*res(i+2)) | ^~ | x1 ./src/ducc0/math/wigner3j.cc:354:43: error: call of ‘(const ducc0::detail_mav::vmav) (int)’ is ambiguous [-Wtemplate-body] 354 | const double ratio = (x1*res(i)+x2*res(i+1)+x3*res(i+2)) | ~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:354:49: error: ‘x3’ was not declared in this scope; did you mean ‘x1’? [-Wtemplate-body] 354 | const double ratio = (x1*res(i)+x2*res(i+1)+x3*res(i+2)) | ^~ | x1 ./src/ducc0/math/wigner3j.cc:354:55: error: call of ‘(const ducc0::detail_mav::vmav) (int)’ is ambiguous [-Wtemplate-body] 354 | const double ratio = (x1*res(i)+x2*res(i+1)+x3*res(i+2)) | ~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:363:33: error: call of ‘(const ducc0::detail_mav::vmav) (int)’ is ambiguous [-Wtemplate-body] 363 | last_coeff_is_negative = res(ncoef-1)<0.; | ~~~^~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:373:8: error: call of ‘(const ducc0::detail_mav::vmav) (int&)’ is ambiguous [-Wtemplate-body] 373 | res(k)*=cnorm*fct_fwd; | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:375:8: error: call of ‘(const ducc0::detail_mav::vmav) (int&)’ is ambiguous [-Wtemplate-body] 375 | res(k)*=cnorm*fct_bwd; | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc: In function ‘void ducc0::detail_wigner3j::wigner3j_internal(double, double, double, double, double, double, double, int, const ducc0::detail_mav::vmav&)’: ./src/ducc0/math/wigner3j.cc:653:6: error: call of ‘(const ducc0::detail_mav::vmav) (int&)’ is ambiguous 653 | res(i) = srtiny; | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:654:38: error: call of ‘(const ducc0::detail_mav::vmav) (int&)’ is ambiguous 654 | double sumfor = (2.*l1min+1.) * res(i)*res(i); | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:654:45: error: call of ‘(const ducc0::detail_mav::vmav) (int&)’ is ambiguous 654 | double sumfor = (2.*l1min+1.) * res(i)*res(i); | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:670:10: error: call of ‘(const ducc0::detail_mav::vmav) (int&)’ is ambiguous 670 | res(i) = res(i-1)*c1 - res(i-2)*l1*oldfac*tmp1; | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:670:19: error: call of ‘(const ducc0::detail_mav::vmav) (int)’ is ambiguous 670 | res(i) = res(i-1)*c1 - res(i-2)*l1*oldfac*tmp1; | ~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:670:33: error: call of ‘(const ducc0::detail_mav::vmav) (int)’ is ambiguous 670 | res(i) = res(i-1)*c1 - res(i-2)*l1*oldfac*tmp1; | ~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:676:10: error: call of ‘(const ducc0::detail_mav::vmav) (int&)’ is ambiguous 676 | res(i) = res(i-1)*c1; | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:676:19: error: call of ‘(const ducc0::detail_mav::vmav) (int)’ is ambiguous 676 | res(i) = res(i-1)*c1; | ~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:681:29: error: call of ‘(const ducc0::detail_mav::vmav) (int&)’ is ambiguous 681 | sumfor += (2.*l1+1.)*res(i)*res(i); | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:681:36: error: call of ‘(const ducc0::detail_mav::vmav) (int&)’ is ambiguous 681 | sumfor += (2.*l1+1.)*res(i)*res(i); | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:682:16: error: call of ‘(const ducc0::detail_mav::vmav) (int&)’ is ambiguous 682 | if (abs(res(i))>=srhuge) | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:685:12: error: call of ‘(const ducc0::detail_mav::vmav) (int&)’ is ambiguous 685 | res(k)*=srtiny; | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:698:24: error: call of ‘(const ducc0::detail_mav::vmav) (int)’ is ambiguous 698 | const double x1=res(i-2), x2=res(i-1), x3=res(i); | ~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:702:8: error: call of ‘(const ducc0::detail_mav::vmav) (int&)’ is ambiguous 702 | res(i) = srtiny; | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:703:33: error: call of ‘(const ducc0::detail_mav::vmav) (int&)’ is ambiguous 703 | sumbac = (2.*l1max+1.) * res(i)*res(i); | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:703:40: error: call of ‘(const ducc0::detail_mav::vmav) (int&)’ is ambiguous 703 | sumbac = (2.*l1max+1.) * res(i)*res(i); | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:714:12: error: call of ‘(const ducc0::detail_mav::vmav) (int&)’ is ambiguous 714 | res(i) = (res(i+1) * (2.*l1+3.)*(pre2-(l1p1sq+l1+1.)*m3mm2) | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:714:22: error: call of ‘(const ducc0::detail_mav::vmav) (int)’ is ambiguous 714 | res(i) = (res(i+1) * (2.*l1+3.)*(pre2-(l1p1sq+l1+1.)*m3mm2) | ~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:715:22: error: call of ‘(const ducc0::detail_mav::vmav) (int)’ is ambiguous 715 | -res(i+2) * (l1+1.)*oldfac) | ~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:718:12: error: call of ‘(const ducc0::detail_mav::vmav) (int&)’ is ambiguous 718 | res(i) = res(i+1)*(2.*l1+3.)*(pre2-(l1p1sq+l1+1.)*m3mm2) | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:718:21: error: call of ‘(const ducc0::detail_mav::vmav) (int)’ is ambiguous 718 | res(i) = res(i+1)*(2.*l1+3.)*(pre2-(l1p1sq+l1+1.)*m3mm2) | ~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:723:31: error: call of ‘(const ducc0::detail_mav::vmav) (int&)’ is ambiguous 723 | sumbac += (2.*l1+1.)*res(i)*res(i); | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:723:38: error: call of ‘(const ducc0::detail_mav::vmav) (int&)’ is ambiguous 723 | sumbac += (2.*l1+1.)*res(i)*res(i); | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:724:18: error: call of ‘(const ducc0::detail_mav::vmav) (int&)’ is ambiguous 724 | if (abs(res(i))>=srhuge) | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:727:14: error: call of ‘(const ducc0::detail_mav::vmav) (int&)’ is ambiguous 727 | res(k)*=srtiny; | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:736:31: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&)’ is ambiguous 736 | sumbac -= (2.*l1+1.)*res(i)*res(i); | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:736:38: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&)’ is ambiguous 736 | sumbac -= (2.*l1+1.)*res(i)*res(i); | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:739:33: error: call of ‘(const ducc0::detail_mav::vmav) (int&)’ is ambiguous 739 | const double ratio = (x1*res(i)+x2*res(i+1)+x3*res(i+2)) | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:739:37: error: ‘x2’ was not declared in this scope; did you mean ‘x1’? 739 | const double ratio = (x1*res(i)+x2*res(i+1)+x3*res(i+2)) | ^~ | x1 ./src/ducc0/math/wigner3j.cc:739:43: error: call of ‘(const ducc0::detail_mav::vmav) (int)’ is ambiguous 739 | const double ratio = (x1*res(i)+x2*res(i+1)+x3*res(i+2)) | ~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:739:49: error: ‘x3’ was not declared in this scope; did you mean ‘x1’? 739 | const double ratio = (x1*res(i)+x2*res(i+1)+x3*res(i+2)) | ^~ | x1 ./src/ducc0/math/wigner3j.cc:739:55: error: call of ‘(const ducc0::detail_mav::vmav) (int)’ is ambiguous 739 | const double ratio = (x1*res(i)+x2*res(i+1)+x3*res(i+2)) | ~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:748:33: error: call of ‘(const ducc0::detail_mav::vmav) (int)’ is ambiguous 748 | last_coeff_is_negative = res(ncoef-1)<0.; | ~~~^~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:758:8: error: call of ‘(const ducc0::detail_mav::vmav) (int&)’ is ambiguous 758 | res(k)*=cnorm*fct_fwd; | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:760:8: error: call of ‘(const ducc0::detail_mav::vmav) (int&)’ is ambiguous 760 | res(k)*=cnorm*fct_bwd; | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc: In function ‘void ducc0::detail_wigner3j::wigner3j_00_squared_compact(double, double, const ducc0::detail_mav::vmav&)’: ./src/ducc0/math/wigner3j.cc:776:6: error: call of ‘(const ducc0::detail_mav::vmav) (int)’ is ambiguous 776 | res(0) = 1.; | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:777:35: error: call of ‘(const ducc0::detail_mav::vmav) (int)’ is ambiguous 777 | double sum = (2.*l1min+1.) * res(0); | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:800:20: error: call of ‘(const ducc0::detail_mav::vmav) (int)’ is ambiguous 800 | resx[0] = res(i+1) = res(i)*tmp1[0]; | ~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:800:31: error: call of ‘(const ducc0::detail_mav::vmav) (int&)’ is ambiguous 800 | resx[0] = res(i+1) = res(i)*tmp1[0]; | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:802:22: error: call of ‘(const ducc0::detail_mav::vmav) (size_t)’ is ambiguous 802 | resx[m] = res(i+m+1) = resx[m-1]*tmp1[m]; | ~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:819:8: error: call of ‘(const ducc0::detail_mav::vmav) (int)’ is ambiguous 819 | res(i+1) = res(i)*tmp1; | ~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:819:19: error: call of ‘(const ducc0::detail_mav::vmav) (int&)’ is ambiguous 819 | res(i+1) = res(i)*tmp1; | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:821:28: error: call of ‘(const ducc0::detail_mav::vmav) (int)’ is ambiguous 821 | sum += (2.*l1p1+1.)*res(i+1); | ~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:826:8: error: call of ‘(const ducc0::detail_mav::vmav) (int&)’ is ambiguous 826 | res(k)*=cnorm; | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc: In function ‘void ducc0::detail_wigner3j::flexible_wigner3j(double, double, double, double, double, const ducc0::detail_mav::vmav&)’: ./src/ducc0/math/wigner3j.cc:910:48: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&)’ is ambiguous 910 | { for (size_t i=0; i class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:916:56: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&)’ is ambiguous 916 | for (size_t i=0; i class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:917:73: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&)’ is ambiguous 917 | for (size_t i=size_t(l1min_real-l1min+ncoef); i class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ In file included from ./src/ducc0/sht/sphere_interpol.h:47, from ./src/ducc0/sht/sht.cc:32, from python/ducc.cc:10: ./src/ducc0/sht/sht_utils.h: In function ‘void ducc0::detail_sht::resample_leg_CC_to_irregular(const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::vmav, 3>&, const ducc0::detail_mav::cmav&, size_t, const ducc0::detail_mav::cmav&, size_t)’: ./src/ducc0/sht/sht_utils.h:268:9: error: call of ‘(ducc0::detail_mav::vmav) (size_t&)’ is ambiguous [-Wtemplate-body] 268 | idx0(itheta) = size_t(fidx0+1); | ~~~~^~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = long unsigned int; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = long unsigned int; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht_utils.h:270:10: error: call of ‘(ducc0::detail_mav::vmav) (size_t&, size_t&)’ is ambiguous [-Wtemplate-body] 270 | buf(itheta,i) = poly->eval((2./kernel.W)*(nborder + theta(itheta)/dtheta_b - (idx0(itheta)+i))); | ~~~^~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht_utils.h:270:89: error: call of ‘(ducc0::detail_mav::vmav) (size_t&)’ is ambiguous [-Wtemplate-body] 270 | buf(itheta,i) = poly->eval((2./kernel.W)*(nborder + theta(itheta)/dtheta_b - (idx0(itheta)+i))); | ~~~~^~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = long unsigned int; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = long unsigned int; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht_utils.h: In lambda function: ./src/ducc0/sht/sht_utils.h:303:30: error: call of ‘(ducc0::detail_mav::vmav) (size_t&)’ is ambiguous [-Wtemplate-body] 303 | size_t idx00 = idx0(itheta); | ~~~~^~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = long unsigned int; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = long unsigned int; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht_utils.h:305:58: error: call of ‘(ducc0::detail_mav::vmav) (size_t&, size_t&)’ is ambiguous [-Wtemplate-body] 305 | for (size_t i=0; i class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht_utils.h:309:19: error: call of ‘(ducc0::detail_mav::vmav, 1>) (size_t)’ is ambiguous [-Wtemplate-body] 309 | vbuf(mi-rng.lo)=0; | ~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht_utils.h:312:21: error: call of ‘(ducc0::detail_mav::vmav, 1>) (size_t)’ is ambiguous [-Wtemplate-body] 312 | vbuf(mi-rng.lo) += complex(legtmp(iplane, idx00+i, mi-rng.lo))*lbuf[i]; | ~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht_utils.h:314:57: error: call of ‘(ducc0::detail_mav::vmav, 1>) (size_t)’ is ambiguous [-Wtemplate-body] 314 | lego(iplane, itheta, mi) = complex(vbuf(mi-rng.lo)); | ~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht_utils.h: In function ‘void ducc0::detail_sht::resample_leg_irregular_to_CC(const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::vmav, 3>&, const ducc0::detail_mav::cmav&, size_t, const ducc0::detail_mav::cmav&, size_t)’: ./src/ducc0/sht/sht_utils.h:349:9: error: call of ‘(ducc0::detail_mav::vmav) (size_t&)’ is ambiguous [-Wtemplate-body] 349 | idx0(itheta) = size_t(fidx0+1); | ~~~~^~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = long unsigned int; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = long unsigned int; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht_utils.h:351:10: error: call of ‘(ducc0::detail_mav::vmav) (size_t&, size_t&)’ is ambiguous [-Wtemplate-body] 351 | buf(itheta,i) = poly->eval((2./kernel.W)*(nborder + theta(itheta)/dtheta_b - (idx0(itheta)+i))); | ~~~^~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht_utils.h:351:89: error: call of ‘(ducc0::detail_mav::vmav) (size_t&)’ is ambiguous [-Wtemplate-body] 351 | buf(itheta,i) = poly->eval((2./kernel.W)*(nborder + theta(itheta)/dtheta_b - (idx0(itheta)+i))); | ~~~~^~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = long unsigned int; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = long unsigned int; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht_utils.h: In lambda function: ./src/ducc0/sht/sht_utils.h:371:30: error: call of ‘(ducc0::detail_mav::vmav) (size_t&)’ is ambiguous [-Wtemplate-body] 371 | size_t idx00 = idx0(itheta); | ~~~~^~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = long unsigned int; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = long unsigned int; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht_utils.h:373:58: error: call of ‘(ducc0::detail_mav::vmav) (size_t&, size_t&)’ is ambiguous [-Wtemplate-body] 373 | for (size_t i=0; i class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h: In lambda function: ./src/ducc0/sht/sphere_interpol.h:322:20: error: call of ‘(ducc0::detail_mav::vmav) (size_t&, size_t&)’ is ambiguous [-Wtemplate-body] 322 | locks(b_theta,b_phi).unlock(); | ~~~~~^~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::mutex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::mutex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:323:20: error: call of ‘(ducc0::detail_mav::vmav) (size_t&, size_t)’ is ambiguous [-Wtemplate-body] 323 | locks(b_theta,b_phi+1).unlock(); | ~~~~~^~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::mutex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::mutex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:324:20: error: call of ‘(ducc0::detail_mav::vmav) (size_t, size_t&)’ is ambiguous [-Wtemplate-body] 324 | locks(b_theta+1,b_phi).unlock(); | ~~~~~^~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::mutex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::mutex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:325:20: error: call of ‘(ducc0::detail_mav::vmav) (size_t, size_t)’ is ambiguous [-Wtemplate-body] 325 | locks(b_theta+1,b_phi+1).unlock(); | ~~~~~^~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::mutex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::mutex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:329:18: error: call of ‘(ducc0::detail_mav::vmav) (size_t&, size_t&)’ is ambiguous [-Wtemplate-body] 329 | locks(b_theta,b_phi).lock(); | ~~~~~^~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::mutex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::mutex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:330:18: error: call of ‘(ducc0::detail_mav::vmav) (size_t&, size_t)’ is ambiguous [-Wtemplate-body] 330 | locks(b_theta,b_phi+1).lock(); | ~~~~~^~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::mutex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::mutex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:331:18: error: call of ‘(ducc0::detail_mav::vmav) (size_t, size_t&)’ is ambiguous [-Wtemplate-body] 331 | locks(b_theta+1,b_phi).lock(); | ~~~~~^~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::mutex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::mutex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:332:18: error: call of ‘(ducc0::detail_mav::vmav) (size_t, size_t)’ is ambiguous [-Wtemplate-body] 332 | locks(b_theta+1,b_phi+1).lock(); | ~~~~~^~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::mutex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::mutex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:409:16: error: call of ‘(ducc0::detail_mav::vmav) (size_t&, size_t&)’ is ambiguous [-Wtemplate-body] 409 | locks(b_theta,b_phi).unlock(); | ~~~~~^~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::mutex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::mutex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:410:16: error: call of ‘(ducc0::detail_mav::vmav) (size_t&, size_t)’ is ambiguous [-Wtemplate-body] 410 | locks(b_theta,b_phi+1).unlock(); | ~~~~~^~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::mutex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::mutex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:411:16: error: call of ‘(ducc0::detail_mav::vmav) (size_t, size_t&)’ is ambiguous [-Wtemplate-body] 411 | locks(b_theta+1,b_phi).unlock(); | ~~~~~^~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::mutex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::mutex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:412:16: error: call of ‘(ducc0::detail_mav::vmav) (size_t, size_t)’ is ambiguous [-Wtemplate-body] 412 | locks(b_theta+1,b_phi+1).unlock(); | ~~~~~^~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::mutex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::mutex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h: In member function ‘void ducc0::detail_sphereinterpol::SphereInterpol::getPlane(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, ptrdiff_t, const ducc0::detail_mav::vmav&, ducc0::detail_sht::SHT_mode, ducc0::detail_timers::TimerHierarchy&) const’: ./src/ducc0/sht/sphere_interpol.h:484:14: error: call of ‘(ducc0::detail_mav::vmav) (size_t&)’ is ambiguous [-Wtemplate-body] 484 | theta(i) = (i*pi)/(ntheta_s-1); | ~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:488:13: error: call of ‘(ducc0::detail_mav::vmav) (size_t&)’ is ambiguous [-Wtemplate-body] 488 | mval(i) = i; | ~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = long unsigned int; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = long unsigned int; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h: In member function ‘void ducc0::detail_sphereinterpol::SphereInterpol::updateAlm(const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, ptrdiff_t, const ducc0::detail_mav::vmav&, ducc0::detail_sht::SHT_mode, ducc0::detail_timers::TimerHierarchy&) const’: ./src/ducc0/sht/sphere_interpol.h:635:14: error: call of ‘(ducc0::detail_mav::vmav) (size_t&)’ is ambiguous [-Wtemplate-body] 635 | theta(i) = (i*pi)/(ntheta_s-1); | ~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:639:13: error: call of ‘(ducc0::detail_mav::vmav) (size_t&)’ is ambiguous [-Wtemplate-body] 639 | mval(i) = i; | ~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = long unsigned int; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = long unsigned int; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc: In member function ‘void ducc0::detail_sht::ringhelper::phase2ring(size_t, double, const ducc0::detail_mav::vmav&, size_t, const ducc0::detail_mav::cmav, 1>&)’: ./src/ducc0/sht/sht.cc:308:15: error: call of ‘(const ducc0::detail_mav::vmav) (size_t)’ is ambiguous [-Wtemplate-body] 308 | data(2*m)=phase(m).real(); | ~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:309:15: error: call of ‘(const ducc0::detail_mav::vmav) (size_t)’ is ambiguous [-Wtemplate-body] 309 | data(2*m+1)=phase(m).imag(); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:315:15: error: call of ‘(const ducc0::detail_mav::vmav) (size_t)’ is ambiguous [-Wtemplate-body] 315 | data(2*m)=tmp.real(); | ~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:316:15: error: call of ‘(const ducc0::detail_mav::vmav) (size_t)’ is ambiguous [-Wtemplate-body] 316 | data(2*m+1)=tmp.imag(); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:319:13: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&)’ is ambiguous [-Wtemplate-body] 319 | data(m)=0.; | ~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:323:11: error: call of ‘(const ducc0::detail_mav::vmav) (int)’ is ambiguous [-Wtemplate-body] 323 | data(0)=phase(0).real(); | ~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:324:17: error: call of ‘(const ducc0::detail_mav::vmav) (int)’ is ambiguous [-Wtemplate-body] 324 | fill(&data(1),&data(nph+2),0.); | ~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:324:26: error: call of ‘(const ducc0::detail_mav::vmav) (size_t)’ is ambiguous [-Wtemplate-body] 324 | fill(&data(1),&data(nph+2),0.); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:333:15: error: call of ‘(const ducc0::detail_mav::vmav) (size_t)’ is ambiguous [-Wtemplate-body] 333 | data(2*idx1)+=tmp.real(); | ~~~~^~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:334:15: error: call of ‘(const ducc0::detail_mav::vmav) (size_t)’ is ambiguous [-Wtemplate-body] 334 | data(2*idx1+1)+=tmp.imag(); | ~~~~^~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:338:15: error: call of ‘(const ducc0::detail_mav::vmav) (size_t)’ is ambiguous [-Wtemplate-body] 338 | data(2*idx2)+=tmp.real(); | ~~~~^~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:339:15: error: call of ‘(const ducc0::detail_mav::vmav) (size_t)’ is ambiguous [-Wtemplate-body] 339 | data(2*idx2+1)-=tmp.imag(); | ~~~~^~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:343:9: error: call of ‘(const ducc0::detail_mav::vmav) (int)’ is ambiguous [-Wtemplate-body] 343 | data(1)=data(0); | ~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:343:17: error: call of ‘(const ducc0::detail_mav::vmav) (int)’ is ambiguous [-Wtemplate-body] 343 | data(1)=data(0); | ~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:344:31: error: call of ‘(const ducc0::detail_mav::vmav) (int)’ is ambiguous [-Wtemplate-body] 344 | plan->exec_copyback(&(data(1)), buf.data(), 1., false); | ~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc: In member function ‘void ducc0::detail_sht::ringhelper::ring2phase(size_t, double, const ducc0::detail_mav::vmav&, size_t, const ducc0::detail_mav::vmav, 1>&)’: ./src/ducc0/sht/sht.cc:351:31: error: call of ‘(const ducc0::detail_mav::vmav) (int)’ is ambiguous [-Wtemplate-body] 351 | plan->exec_copyback(&(data(1)), buf.data(), 1., true); | ~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:352:9: error: call of ‘(const ducc0::detail_mav::vmav) (int)’ is ambiguous [-Wtemplate-body] 352 | data(0)=data(1); | ~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:352:17: error: call of ‘(const ducc0::detail_mav::vmav) (int)’ is ambiguous [-Wtemplate-body] 352 | data(0)=data(1); | ~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:353:9: error: call of ‘(const ducc0::detail_mav::vmav) (int)’ is ambiguous [-Wtemplate-body] 353 | data(1)=data(nph+1)=0.; | ~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:353:17: error: call of ‘(const ducc0::detail_mav::vmav) (size_t)’ is ambiguous [-Wtemplate-body] 353 | data(1)=data(nph+1)=0.; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:359:39: error: call of ‘(const ducc0::detail_mav::vmav) (size_t)’ is ambiguous [-Wtemplate-body] 359 | phase(m) = complex(T(data(2*m)), T(data(2*m+1))); | ~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:359:53: error: call of ‘(const ducc0::detail_mav::vmav) (size_t)’ is ambiguous [-Wtemplate-body] 359 | phase(m) = complex(T(data(2*m)), T(data(2*m+1))); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:362:44: error: call of ‘(const ducc0::detail_mav::vmav) (size_t)’ is ambiguous [-Wtemplate-body] 362 | phase(m) = complex(dcmplx(data(2*m), data(2*m+1)) * shiftarr[m]); | ~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:362:55: error: call of ‘(const ducc0::detail_mav::vmav) (size_t)’ is ambiguous [-Wtemplate-body] 362 | phase(m) = complex(dcmplx(data(2*m), data(2*m+1)) * shiftarr[m]); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:370:28: error: call of ‘(const ducc0::detail_mav::vmav) (size_t)’ is ambiguous [-Wtemplate-body] 370 | val = dcmplx(data(2*idx), data(2*idx+1)); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:370:41: error: call of ‘(const ducc0::detail_mav::vmav) (size_t)’ is ambiguous [-Wtemplate-body] 370 | val = dcmplx(data(2*idx), data(2*idx+1)); | ~~~~^~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:372:28: error: call of ‘(const ducc0::detail_mav::vmav) (size_t)’ is ambiguous [-Wtemplate-body] 372 | val = dcmplx(data(2*(nph-idx)), -data(2*(nph-idx)+1)); | ~~~~^~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:372:48: error: call of ‘(const ducc0::detail_mav::vmav) (size_t)’ is ambiguous [-Wtemplate-body] 372 | val = dcmplx(data(2*(nph-idx)), -data(2*(nph-idx)+1)); | ~~~~^~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc: In function ‘void ducc0::detail_sht::inner_loop_a2m(SHT_mode, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::vmav, 3>&, const std::vector&, Ylmgen&, size_t)’: ./src/ducc0/sht/sht.cc:1454:15: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous [-Wtemplate-body] 1454 | almtmp(l,i)*=gen.alpha[l]; | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc: In function ‘void ducc0::detail_sht::inner_loop_m2a(SHT_mode, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav, 3>&, const std::vector&, Ylmgen&, size_t)’: ./src/ducc0/sht/sht.cc:1635:15: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous [-Wtemplate-body] 1635 | almtmp(l,i)*=gen.alpha[l]; | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc: In function ‘void ducc0::detail_sht::get_gridweights(const std::string&, const ducc0::detail_mav::vmav&)’: ./src/ducc0/sht/sht.cc:1756:10: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&)’ is ambiguous 1756 | wgt(m) = 2*pi*xwgt[m]; | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:1774:10: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&)’ is ambiguous 1774 | wgt(m)=wgt(nrings-1-m)=xwgt[m]*2*pi/nrings; | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:1774:17: error: call of ‘(const ducc0::detail_mav::vmav) (size_t)’ is ambiguous 1774 | wgt(m)=wgt(nrings-1-m)=xwgt[m]*2*pi/nrings; | ~~~^~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:1791:10: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&)’ is ambiguous 1791 | wgt(m)=wgt(nrings-1-m)=xwgt[m]*2*pi/n; | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:1791:17: error: call of ‘(const ducc0::detail_mav::vmav) (size_t)’ is ambiguous 1791 | wgt(m)=wgt(nrings-1-m)=xwgt[m]*2*pi/n; | ~~~^~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:1797:10: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&)’ is ambiguous 1797 | wgt(m) = xwgt[m+1]*2*pi/(nrings+1); | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:1803:10: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&)’ is ambiguous 1803 | wgt(m) = xwgt[m]*2*pi/nrings; | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc: In function ‘void ducc0::detail_sht::alm2leg(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::vmav, 3>&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, ptrdiff_t, const ducc0::detail_mav::cmav&, size_t, SHT_mode, bool)’: ./src/ducc0/sht/sht.cc:1884:18: error: call of ‘(ducc0::detail_mav::vmav) (size_t&)’ is ambiguous [-Wtemplate-body] 1884 | theta_tmp(i) = i*pi/(ntheta_tmp-1); | ~~~~~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:1905:18: error: call of ‘(ducc0::detail_mav::vmav) (size_t&)’ is ambiguous [-Wtemplate-body] 1905 | theta_tmp(i) = i*pi/(ntheta_tmp-1); | ~~~~~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc: In lambda function: ./src/ducc0/sht/sht.cc:1930:17: error: call of ‘(ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous [-Wtemplate-body] 1930 | almtmp(l,ialm) = 0; | ~~~~~~^~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:1932:17: error: call of ‘(ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous [-Wtemplate-body] 1932 | almtmp(l,ialm) = alm(ialm,mstart(mi)+l*lstride)*T(norm_l[l]); | ~~~~~~^~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:1933:15: error: call of ‘(ducc0::detail_mav::vmav, 2>) (size_t, size_t&)’ is ambiguous [-Wtemplate-body] 1933 | almtmp(lmax+1,ialm) = 0; | ~~~~~~^~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc: In function ‘void ducc0::detail_sht::leg2alm(const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav, 3>&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, ptrdiff_t, const ducc0::detail_mav::cmav&, size_t, SHT_mode, bool)’: ./src/ducc0/sht/sht.cc:1989:18: error: call of ‘(ducc0::detail_mav::vmav) (size_t&)’ is ambiguous [-Wtemplate-body] 1989 | theta_tmp(i) = i*pi/(ntheta_tmp-1); | ~~~~~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:2001:18: error: call of ‘(ducc0::detail_mav::vmav) (size_t&)’ is ambiguous [-Wtemplate-body] 2001 | theta_tmp(i) = i*pi/(ntheta_tmp-1); | ~~~~~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc: In lambda function: ./src/ducc0/sht/sht.cc:2025:17: error: call of ‘(ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous [-Wtemplate-body] 2025 | almtmp(l,ialm) = 0.; | ~~~~~~^~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:2033:61: error: call of ‘(ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous [-Wtemplate-body] 2033 | alm(ialm,mstart(mi)+l*lstride) = complex(almtmp(l,ialm)*norm_l[l]); | ~~~~~~^~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc: In lambda function: ./src/ducc0/sht/sht.cc:2107:62: error: call of ‘(ducc0::detail_mav::vmav) (size_t)’ is ambiguous [-Wtemplate-body] 2107 | map(icomp,ringstart(ith)+i*pixstride) = T(ringtmp(i+1)); | ~~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc: In lambda function: ./src/ducc0/sht/sht.cc:2183:20: error: call of ‘(ducc0::detail_mav::vmav) (size_t)’ is ambiguous [-Wtemplate-body] 2183 | ringtmp(i+1) = map(icomp,ringstart(ith)+i*pixstride); | ~~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc: In lambda function: ./src/ducc0/sht/sht.cc:2274:28: error: call of ‘(ducc0::detail_mav::vmav) (size_t&)’ is ambiguous [-Wtemplate-body] 2274 | tmp(i) *= T(wgt(i)); | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:2277:31: error: call of ‘(ducc0::detail_mav::vmav) (size_t&)’ is ambiguous [-Wtemplate-body] 2277 | tmp(im) *= T(wgt(i)); | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc: In lambda function: ./src/ducc0/sht/sht.cc:2365:28: error: call of ‘(ducc0::detail_mav::vmav) (size_t&)’ is ambiguous [-Wtemplate-body] 2365 | tmp(i) *= T(wgt(i)); | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:2368:31: error: call of ‘(ducc0::detail_mav::vmav) (size_t&)’ is ambiguous [-Wtemplate-body] 2368 | tmp(im) *= T(wgt(i)); | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc: In function ‘void ducc0::detail_sht::synthesis(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, ptrdiff_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, ptrdiff_t, size_t, SHT_mode, bool)’: ./src/ducc0/sht/sht.cc:2469:9: error: call of ‘(ducc0::detail_mav::vmav) (size_t&)’ is ambiguous [-Wtemplate-body] 2469 | mval(i) = i; | ~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = long unsigned int; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = long unsigned int; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:2477:16: error: call of ‘(ducc0::detail_mav::vmav) (size_t&)’ is ambiguous [-Wtemplate-body] 2477 | theta_tmp(i) = i*pi/(ntheta_tmp-1); | ~~~~~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc: In function ‘void ducc0::detail_sht::get_ringtheta_2d(const std::string&, const ducc0::detail_mav::vmav&)’: ./src/ducc0/sht/sht.cc:2502:12: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&)’ is ambiguous 2502 | theta(m) = th[nrings-1-m]; | ~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:2507:12: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&)’ is ambiguous 2507 | theta(m)=pi*(m+0.5)/nrings; | ~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:2508:12: error: call of ‘(const ducc0::detail_mav::vmav) (long unsigned int)’ is ambiguous 2508 | theta(nrings-1-m)=pi-theta(m); | ~~~~~^~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:2508:33: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&)’ is ambiguous 2508 | theta(nrings-1-m)=pi-theta(m); | ~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:2513:12: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&)’ is ambiguous 2513 | theta(m)=pi*m/(nrings-1.); | ~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:2514:12: error: call of ‘(const ducc0::detail_mav::vmav) (long unsigned int)’ is ambiguous 2514 | theta(nrings-1-m)=pi-theta(m); | ~~~~~^~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:2514:33: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&)’ is ambiguous 2514 | theta(nrings-1-m)=pi-theta(m); | ~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:2518:12: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&)’ is ambiguous 2518 | theta(m)=pi*(m+1)/(nrings+1.); | ~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:2521:12: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&)’ is ambiguous 2521 | theta(m) = m*pi/nrings; | ~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:2524:12: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&)’ is ambiguous 2524 | theta(m)=pi*(2.*m+1.)/(2.*nrings-1.); | ~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:2527:12: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&)’ is ambiguous 2527 | theta(m)=pi*(2.*m)/(2.*nrings-1.); | ~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc: In function ‘void ducc0::detail_sht::synthesis_2d(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, ptrdiff_t, const std::string&, double, size_t, SHT_mode)’: ./src/ducc0/sht/sht.cc:2543:14: error: call of ‘(ducc0::detail_mav::vmav) (size_t&)’ is ambiguous [-Wtemplate-body] 2543 | ringstart(i) = i*ringstride; | ~~~~~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = long unsigned int; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = long unsigned int; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc: In function ‘void ducc0::detail_sht::adjoint_synthesis(const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, ptrdiff_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, ptrdiff_t, size_t, SHT_mode, bool)’: ./src/ducc0/sht/sht.cc:2577:9: error: call of ‘(ducc0::detail_mav::vmav) (size_t&)’ is ambiguous [-Wtemplate-body] 2577 | mval(i) = i; | ~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = long unsigned int; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = long unsigned int; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:2585:16: error: call of ‘(ducc0::detail_mav::vmav) (size_t&)’ is ambiguous [-Wtemplate-body] 2585 | theta_tmp(i) = i*pi/(ntheta_tmp-1); | ~~~~~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc: In function ‘void ducc0::detail_sht::adjoint_synthesis_2d(const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, ptrdiff_t, const std::string&, double, size_t, SHT_mode)’: ./src/ducc0/sht/sht.cc:2707:14: error: call of ‘(ducc0::detail_mav::vmav) (size_t&)’ is ambiguous [-Wtemplate-body] 2707 | ringstart(i) = i*ringstride; | ~~~~~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = long unsigned int; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = long unsigned int; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc: In function ‘void ducc0::detail_sht::analysis_2d(const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, ptrdiff_t, const std::string&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, ptrdiff_t, size_t)’: ./src/ducc0/sht/sht.cc:2749:9: error: call of ‘(ducc0::detail_mav::vmav) (size_t&)’ is ambiguous [-Wtemplate-body] 2749 | mval(i) = i; | ~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = long unsigned int; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = long unsigned int; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:2781:15: error: call of ‘(ducc0::detail_mav::vmav) (size_t&)’ is ambiguous [-Wtemplate-body] 2781 | newtheta(i) = (pi*i)/(ntheta_leg-1); | ~~~~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:2793:26: error: call of ‘(ducc0::detail_mav::vmav) (size_t&)’ is ambiguous [-Wtemplate-body] 2793 | auto wgt1 = T(wgt(j)/nphi(j)); | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc: In function ‘void ducc0::detail_sht::analysis_2d(const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, ptrdiff_t, const std::string&, double, size_t)’: ./src/ducc0/sht/sht.cc:2812:14: error: call of ‘(ducc0::detail_mav::vmav) (size_t&)’ is ambiguous [-Wtemplate-body] 2812 | ringstart(i) = i*ringstride; | ~~~~~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = long unsigned int; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = long unsigned int; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc: In function ‘void ducc0::detail_sht::adjoint_analysis_2d(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, ptrdiff_t, const std::string&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, ptrdiff_t, size_t)’: ./src/ducc0/sht/sht.cc:2853:9: error: call of ‘(ducc0::detail_mav::vmav) (size_t&)’ is ambiguous [-Wtemplate-body] 2853 | mval(i) = i; | ~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = long unsigned int; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = long unsigned int; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:2876:16: error: call of ‘(ducc0::detail_mav::vmav) (size_t&)’ is ambiguous [-Wtemplate-body] 2876 | theta_tmp(i) = (pi*i)/(ntheta_leg-1); | ~~~~~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:2897:26: error: call of ‘(ducc0::detail_mav::vmav) (size_t&)’ is ambiguous [-Wtemplate-body] 2897 | auto wgt1 = T(wgt(j)/nphi(j)); | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc: In function ‘void ducc0::detail_sht::adjoint_analysis_2d(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, ptrdiff_t, const std::string&, double, size_t)’: ./src/ducc0/sht/sht.cc:2914:14: error: call of ‘(ducc0::detail_mav::vmav) (size_t&)’ is ambiguous [-Wtemplate-body] 2914 | ringstart(i) = i*ringstride; | ~~~~~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = long unsigned int; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = long unsigned int; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ In file included from python/ducc.cc:12: ./src/ducc0/healpix/healpix_base.cc: In member function ‘void ducc0::detail_healpix::T_Healpix_Base::query_multidisc(const std::vector >&, const std::vector&, int, ducc0::rangeset&) const’: ./src/ducc0/healpix/healpix_base.cc:523:16: error: call of ‘(ducc0::detail_mav::vmav) (size_t&, size_t&, int)’ is ambiguous [-Wtemplate-body] 523 | crlimit(o,i,0) = (rad[i]+dr>pi) ? -1. : cos(rad[i]+dr); | ~~~~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/healpix/healpix_base.cc:524:16: error: call of ‘(ducc0::detail_mav::vmav) (size_t&, size_t&, int)’ is ambiguous [-Wtemplate-body] 524 | crlimit(o,i,1) = (o==0) ? cos(rad[i]) : crlimit(0,i,1); | ~~~~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/healpix/healpix_base.cc:524:56: error: call of ‘(ducc0::detail_mav::vmav) (int, size_t&, int)’ is ambiguous [-Wtemplate-body] 524 | crlimit(o,i,1) = (o==0) ? cos(rad[i]) : crlimit(0,i,1); | ~~~~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/healpix/healpix_base.cc:525:16: error: call of ‘(ducc0::detail_mav::vmav) (size_t&, size_t&, int)’ is ambiguous [-Wtemplate-body] 525 | crlimit(o,i,2) = (rad[i]-dr<0.) ? 1. : cos(rad[i]-dr); | ~~~~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/healpix/healpix_base.cc:550:27: error: call of ‘(ducc0::detail_mav::vmav) (size_t&, size_t&, size_t&)’ is ambiguous [-Wtemplate-body] 550 | if (crad class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/healpix/healpix_base.cc: In member function ‘void ducc0::detail_healpix::T_Healpix_Base::query_multidisc_general(const std::vector >&, const std::vector&, bool, const std::vector&, ducc0::rangeset&) const’: ./src/ducc0/healpix/healpix_base.cc:588:16: error: call of ‘(ducc0::detail_mav::vmav) (size_t&, size_t&, int)’ is ambiguous [-Wtemplate-body] 588 | crlimit(o,i,0) = (rad[i]+dr>pi) ? -1. : cos(rad[i]+dr); | ~~~~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/healpix/healpix_base.cc:589:16: error: call of ‘(ducc0::detail_mav::vmav) (size_t&, size_t&, int)’ is ambiguous [-Wtemplate-body] 589 | crlimit(o,i,1) = (o==0) ? cos(rad[i]) : crlimit(0,i,1); | ~~~~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/healpix/healpix_base.cc:589:56: error: call of ‘(ducc0::detail_mav::vmav) (int, size_t&, int)’ is ambiguous [-Wtemplate-body] 589 | crlimit(o,i,1) = (o==0) ? cos(rad[i]) : crlimit(0,i,1); | ~~~~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/healpix/healpix_base.cc:590:16: error: call of ‘(ducc0::detail_mav::vmav) (size_t&, size_t&, int)’ is ambiguous [-Wtemplate-body] 590 | crlimit(o,i,2) = (rad[i]-dr<0.) ? 1. : cos(rad[i]-dr); | ~~~~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/healpix/healpix_base.cc:618:27: error: call of ‘(ducc0::detail_mav::vmav) (size_t&, size_t&, size_t&)’ is ambiguous [-Wtemplate-body] 618 | if (crad class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ In file included from ./src/ducc0/wgridder/wgridder.cc:20, from python/ducc.cc:13: ./src/ducc0/wgridder/wgridder.h: In lambda function: ./src/ducc0/wgridder/wgridder.h:720:41: error: call of ‘(ducc0::detail_mav::vmav) (long unsigned int&, uint32_t&)’ is ambiguous [-Wtemplate-body] 720 | while((ch0 class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, unsigned int}; T = unsigned char; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, unsigned int}; T = unsigned char; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:722:41: error: call of ‘(ducc0::detail_mav::vmav) (long unsigned int&, uint32_t&)’ is ambiguous [-Wtemplate-body] 722 | while( (ch1 class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, unsigned int}; T = unsigned char; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, unsigned int}; T = unsigned char; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In lambda function: ./src/ducc0/wgridder/wgridder.h:731:20: error: call of ‘(ducc0::detail_mav::vmav) (long unsigned int&, uint32_t&)’ is ambiguous [-Wtemplate-body] 731 | lmask(irow,ch)=2; | ~~~~~^~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, unsigned int}; T = unsigned char; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, unsigned int}; T = unsigned char; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In lambda function: ./src/ducc0/wgridder/wgridder.h:808:31: error: call of ‘(ducc0::detail_mav::vmav) (long unsigned int&, size_t&)’ is ambiguous [-Wtemplate-body] 808 | auto xmask = lmask(irow,ichan); | ~~~~~^~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = unsigned char; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = unsigned char; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In member function ‘void ducc0::detail_gridder::Wgridder::countRanges()’: ./src/ducc0/wgridder/wgridder.h:880:17: error: call of ‘(ducc0::detail_mav::vmav) (size_t, const uint16_t&)’ is ambiguous [-Wtemplate-body] 880 | tmpu(rng.first.minplane+i, rng.first.tile_u) = 1; | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, short unsigned int}; T = unsigned char; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, short unsigned int}; T = unsigned char; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:881:17: error: call of ‘(ducc0::detail_mav::vmav) (size_t, const uint16_t&)’ is ambiguous [-Wtemplate-body] 881 | tmpv(rng.first.minplane+i, rng.first.tile_v) = 1; | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, short unsigned int}; T = unsigned char; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, short unsigned int}; T = unsigned char; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:891:21: error: call of ‘(ducc0::detail_mav::vmav) (size_t&, size_t&)’ is ambiguous [-Wtemplate-body] 891 | if (tmpu(i,j)) | ~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = unsigned char; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = unsigned char; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:907:21: error: call of ‘(ducc0::detail_mav::vmav) (size_t&, size_t&)’ is ambiguous [-Wtemplate-body] 907 | if (tmpv(i,j)) | ~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = unsigned char; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = unsigned char; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In lambda function: ./src/ducc0/wgridder/wgridder.h:1603:20: error: call of ‘(ducc0::detail_mav::vmav) (long unsigned int&, size_t&)’ is ambiguous [-Wtemplate-body] 1603 | lmask(irow, ichan)=1; | ~~~~~^~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = unsigned char; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = unsigned char; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.cc: In function ‘auto ducc0::detail_gridder::get_winfo(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, size_t, size_t)’: ./src/ducc0/wgridder/wgridder.cc:66:37: error: call of ‘(ducc0::detail_mav::vmav) (size_t&)’ is ambiguous 66 | for (size_t i=0; i class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = long unsigned int; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = long unsigned int; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.cc: In lambda function: ./src/ducc0/wgridder/wgridder.cc:77:14: error: call of ‘(ducc0::detail_mav::vmav) (long unsigned int&, size_t&)’ is ambiguous 77 | bin(irow,ichan) = ibin; | ~~~^~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = unsigned char; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = unsigned char; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.cc:82:39: error: call of ‘(ducc0::detail_mav::vmav) (size_t&)’ is ambiguous 82 | for (size_t i=0; i class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = long unsigned int; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = long unsigned int; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.cc: In function ‘std::tuple, long unsigned int, long unsigned int, long unsigned int> ducc0::detail_gridder::get_tuning_parameters(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, size_t, size_t, double, double, double, bool, size_t, size_t, double, double)’: ./src/ducc0/wgridder/wgridder.cc:165:14: error: call of ‘(ducc0::detail_mav::vmav) (size_t&)’ is ambiguous 165 | whist_acc(i) = whist(i) + ((i==0) ? 0 : whist_acc(i-1)); | ~~~~~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = long unsigned int; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = long unsigned int; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.cc:165:25: error: call of ‘(std::tuple_element<2, std::tuple, ducc0::detail_mav::vmav > >::type {aka ducc0::detail_mav::vmav}) (size_t&)’ is ambiguous 165 | whist_acc(i) = whist(i) + ((i==0) ? 0 : whist_acc(i-1)); | ~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = long unsigned int; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = long unsigned int; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.cc:165:54: error: call of ‘(ducc0::detail_mav::vmav) (size_t)’ is ambiguous 165 | whist_acc(i) = whist(i) + ((i==0) ? 0 : whist_acc(i-1)); | ~~~~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = long unsigned int; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = long unsigned int; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.cc:191:44: error: call of ‘(ducc0::detail_mav::vmav) (long unsigned int)’ is ambiguous 191 | auto gridcost_naive = gridcost0*whist_acc(nbin-1); | ~~~~~~~~~^~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = long unsigned int; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = long unsigned int; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.cc:206:44: error: call of ‘(ducc0::detail_mav::vmav) (size_t)’ is ambiguous 206 | auto nvis1 = (iwcut==0) ? 0 : whist_acc(iwcut-1); | ~~~~~~~~~^~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = long unsigned int; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = long unsigned int; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.cc:207:27: error: call of ‘(ducc0::detail_mav::vmav) (long unsigned int)’ is ambiguous 207 | auto nvis2 = whist_acc(nbin-1)-nvis1; | ~~~~~~~~~^~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = long unsigned int; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = long unsigned int; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ In file included from python/ducc.cc:16: ./python/sht_pymod.cc: In function ‘void ducc0::detail_pymodule_sht::getmstuff(size_t, const pybind11::object&, const pybind11::object&, ducc0::detail_mav::vmav&, ducc0::detail_mav::vmav&)’: ./python/sht_pymod.cc:101:11: error: call of ‘(ducc0::detail_mav::vmav) (size_t&)’ is ambiguous 101 | mval(m) = m; | ~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = long unsigned int; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = long unsigned int; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./python/sht_pymod.cc:102:13: error: call of ‘(ducc0::detail_mav::vmav) (size_t&)’ is ambiguous 102 | mstart(m) = idx; | ~~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = long unsigned int; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = long unsigned int; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./python/sht_pymod.cc:119:11: error: call of ‘(ducc0::detail_mav::vmav) (size_t&)’ is ambiguous 119 | mval(i) = size_t(m); | ~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = long unsigned int; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = long unsigned int; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./python/sht_pymod.cc:120:13: error: call of ‘(ducc0::detail_mav::vmav) (size_t&)’ is ambiguous 120 | mstart(i) = size_t(tmstart(i)); | ~~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = long unsigned int; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = long unsigned int; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./python/sht_pymod.cc: In function ‘ducc0::detail_mav::cmav ducc0::detail_pymodule_sht::get_mstart(size_t, const pybind11::object&, const pybind11::object&)’: ./python/sht_pymod.cc:132:13: error: call of ‘(ducc0::detail_mav::vmav) (size_t&)’ is ambiguous 132 | mstart(m) = idx; | ~~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = long unsigned int; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = long unsigned int; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./python/sht_pymod.cc: In member function ‘pybind11::array ducc0::detail_pymodule_sht::Py_sharpjob::alm2map(const pybind11::array_t >&) const’: ./python/sht_pymod.cc:1037:16: error: call of ‘(ducc0::detail_mav::vmav) (size_t&)’ is ambiguous [-Wtemplate-body] 1037 | theta(r) = ringtheta; | ~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./python/sht_pymod.cc:1038:16: error: call of ‘(ducc0::detail_mav::vmav) (size_t&)’ is ambiguous [-Wtemplate-body] 1038 | theta(rs) = pi-ringtheta; | ~~~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./python/sht_pymod.cc:1039:15: error: call of ‘(ducc0::detail_mav::vmav) (size_t&)’ is ambiguous [-Wtemplate-body] 1039 | nphi(r) = nphi(rs) = size_t(ringpix); | ~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = long unsigned int; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = long unsigned int; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./python/sht_pymod.cc:1039:25: error: call of ‘(ducc0::detail_mav::vmav) (size_t&)’ is ambiguous [-Wtemplate-body] 1039 | nphi(r) = nphi(rs) = size_t(ringpix); | ~~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = long unsigned int; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = long unsigned int; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./python/sht_pymod.cc:1040:15: error: call of ‘(ducc0::detail_mav::vmav) (size_t&)’ is ambiguous [-Wtemplate-body] 1040 | phi0(r) = phi0(rs) = shifted ? (pi/ringpix) : 0.; | ~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./python/sht_pymod.cc:1040:25: error: call of ‘(ducc0::detail_mav::vmav) (size_t&)’ is ambiguous [-Wtemplate-body] 1040 | phi0(r) = phi0(rs) = shifted ? (pi/ringpix) : 0.; | ~~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./python/sht_pymod.cc:1041:20: error: call of ‘(ducc0::detail_mav::vmav) (size_t&)’ is ambiguous [-Wtemplate-body] 1041 | ringstart(r) = size_t(startpix); | ~~~~~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = long unsigned int; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = long unsigned int; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./python/sht_pymod.cc:1042:20: error: call of ‘(ducc0::detail_mav::vmav) (size_t&)’ is ambiguous [-Wtemplate-body] 1042 | ringstart(rs) = size_t(base.Npix() - startpix - ringpix); | ~~~~~~~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = long unsigned int; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = long unsigned int; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./python/sht_pymod.cc: In member function ‘pybind11::array ducc0::detail_pymodule_sht::Py_sharpjob::alm2map_adjoint(const pybind11::array_t&) const’: ./python/sht_pymod.cc:1078:16: error: call of ‘(ducc0::detail_mav::vmav) (size_t&)’ is ambiguous [-Wtemplate-body] 1078 | theta(r) = ringtheta; | ~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./python/sht_pymod.cc:1079:16: error: call of ‘(ducc0::detail_mav::vmav) (size_t&)’ is ambiguous [-Wtemplate-body] 1079 | theta(rs) = pi-ringtheta; | ~~~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./python/sht_pymod.cc:1080:15: error: call of ‘(ducc0::detail_mav::vmav) (size_t&)’ is ambiguous [-Wtemplate-body] 1080 | nphi(r) = nphi(rs) = size_t(ringpix); | ~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = long unsigned int; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = long unsigned int; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./python/sht_pymod.cc:1080:25: error: call of ‘(ducc0::detail_mav::vmav) (size_t&)’ is ambiguous [-Wtemplate-body] 1080 | nphi(r) = nphi(rs) = size_t(ringpix); | ~~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = long unsigned int; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = long unsigned int; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./python/sht_pymod.cc:1081:15: error: call of ‘(ducc0::detail_mav::vmav) (size_t&)’ is ambiguous [-Wtemplate-body] 1081 | phi0(r) = phi0(rs) = shifted ? (pi/ringpix) : 0.; | ~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./python/sht_pymod.cc:1081:25: error: call of ‘(ducc0::detail_mav::vmav) (size_t&)’ is ambiguous [-Wtemplate-body] 1081 | phi0(r) = phi0(rs) = shifted ? (pi/ringpix) : 0.; | ~~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./python/sht_pymod.cc:1082:20: error: call of ‘(ducc0::detail_mav::vmav) (size_t&)’ is ambiguous [-Wtemplate-body] 1082 | ringstart(r) = size_t(startpix); | ~~~~~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = long unsigned int; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = long unsigned int; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./python/sht_pymod.cc:1083:20: error: call of ‘(ducc0::detail_mav::vmav) (size_t&)’ is ambiguous [-Wtemplate-body] 1083 | ringstart(rs) = size_t(base.Npix() - startpix - ringpix); | ~~~~~~~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = long unsigned int; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = long unsigned int; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./python/sht_pymod.cc: In member function ‘pybind11::array ducc0::detail_pymodule_sht::Py_sharpjob::alm2map_spin(const pybind11::array_t >&, size_t) const’: ./python/sht_pymod.cc:1133:16: error: call of ‘(ducc0::detail_mav::vmav) (size_t&)’ is ambiguous [-Wtemplate-body] 1133 | theta(r) = ringtheta; | ~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./python/sht_pymod.cc:1134:16: error: call of ‘(ducc0::detail_mav::vmav) (size_t&)’ is ambiguous [-Wtemplate-body] 1134 | theta(rs) = pi-ringtheta; | ~~~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./python/sht_pymod.cc:1135:15: error: call of ‘(ducc0::detail_mav::vmav) (size_t&)’ is ambiguous [-Wtemplate-body] 1135 | nphi(r) = nphi(rs) = size_t(ringpix); | ~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = long unsigned int; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = long unsigned int; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./python/sht_pymod.cc:1135:25: error: call of ‘(ducc0::detail_mav::vmav) (size_t&)’ is ambiguous [-Wtemplate-body] 1135 | nphi(r) = nphi(rs) = size_t(ringpix); | ~~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = long unsigned int; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = long unsigned int; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./python/sht_pymod.cc:1136:15: error: call of ‘(ducc0::detail_mav::vmav) (size_t&)’ is ambiguous [-Wtemplate-body] 1136 | phi0(r) = phi0(rs) = shifted ? (pi/ringpix) : 0.; | ~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./python/sht_pymod.cc:1136:25: error: call of ‘(ducc0::detail_mav::vmav) (size_t&)’ is ambiguous [-Wtemplate-body] 1136 | phi0(r) = phi0(rs) = shifted ? (pi/ringpix) : 0.; | ~~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./python/sht_pymod.cc:1137:20: error: call of ‘(ducc0::detail_mav::vmav) (size_t&)’ is ambiguous [-Wtemplate-body] 1137 | ringstart(r) = size_t(startpix); | ~~~~~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = long unsigned int; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = long unsigned int; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./python/sht_pymod.cc:1138:20: error: call of ‘(ducc0::detail_mav::vmav) (size_t&)’ is ambiguous [-Wtemplate-body] 1138 | ringstart(rs) = size_t(base.Npix() - startpix - ringpix); | ~~~~~~~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = long unsigned int; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = long unsigned int; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ In file included from ./python/totalconvolve_pymod.cc:25, from python/ducc.cc:18: ./src/ducc0/sht/totalconvolve.h: In lambda function: ./src/ducc0/sht/totalconvolve.h:302:20: error: call of ‘(ducc0::detail_mav::vmav) (size_t&, size_t&)’ is ambiguous [-Wtemplate-body] 302 | locks(b_theta,b_phi).unlock(); | ~~~~~^~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::mutex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::mutex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h:303:20: error: call of ‘(ducc0::detail_mav::vmav) (size_t&, size_t)’ is ambiguous [-Wtemplate-body] 303 | locks(b_theta,b_phi+1).unlock(); | ~~~~~^~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::mutex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::mutex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h:304:20: error: call of ‘(ducc0::detail_mav::vmav) (size_t, size_t&)’ is ambiguous [-Wtemplate-body] 304 | locks(b_theta+1,b_phi).unlock(); | ~~~~~^~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::mutex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::mutex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h:305:20: error: call of ‘(ducc0::detail_mav::vmav) (size_t, size_t)’ is ambiguous [-Wtemplate-body] 305 | locks(b_theta+1,b_phi+1).unlock(); | ~~~~~^~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::mutex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::mutex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h:309:18: error: call of ‘(ducc0::detail_mav::vmav) (size_t&, size_t&)’ is ambiguous [-Wtemplate-body] 309 | locks(b_theta,b_phi).lock(); | ~~~~~^~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::mutex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::mutex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h:310:18: error: call of ‘(ducc0::detail_mav::vmav) (size_t&, size_t)’ is ambiguous [-Wtemplate-body] 310 | locks(b_theta,b_phi+1).lock(); | ~~~~~^~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::mutex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::mutex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h:311:18: error: call of ‘(ducc0::detail_mav::vmav) (size_t, size_t&)’ is ambiguous [-Wtemplate-body] 311 | locks(b_theta+1,b_phi).lock(); | ~~~~~^~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::mutex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::mutex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h:312:18: error: call of ‘(ducc0::detail_mav::vmav) (size_t, size_t)’ is ambiguous [-Wtemplate-body] 312 | locks(b_theta+1,b_phi+1).lock(); | ~~~~~^~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::mutex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::mutex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h:359:16: error: call of ‘(ducc0::detail_mav::vmav) (size_t&, size_t&)’ is ambiguous [-Wtemplate-body] 359 | locks(b_theta,b_phi).unlock(); | ~~~~~^~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::mutex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::mutex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h:360:16: error: call of ‘(ducc0::detail_mav::vmav) (size_t&, size_t)’ is ambiguous [-Wtemplate-body] 360 | locks(b_theta,b_phi+1).unlock(); | ~~~~~^~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::mutex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::mutex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h:361:16: error: call of ‘(ducc0::detail_mav::vmav) (size_t, size_t&)’ is ambiguous [-Wtemplate-body] 361 | locks(b_theta+1,b_phi).unlock(); | ~~~~~^~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::mutex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::mutex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h:362:16: error: call of ‘(ducc0::detail_mav::vmav) (size_t, size_t)’ is ambiguous [-Wtemplate-body] 362 | locks(b_theta+1,b_phi+1).unlock(); | ~~~~~^~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::mutex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::mutex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h: In member function ‘void ducc0::detail_totalconvolve::ConvolverPlan::getPlane(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav, 2>&, size_t, const ducc0::detail_mav::vmav&) const’: ./src/ducc0/sht/totalconvolve.h:468:14: error: call of ‘(ducc0::detail_mav::vmav) (size_t&)’ is ambiguous [-Wtemplate-body] 468 | theta(i) = (i*pi)/(ntheta_s-1); | ~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h:475:13: error: call of ‘(ducc0::detail_mav::vmav) (size_t&)’ is ambiguous [-Wtemplate-body] 475 | mval(i) = i; | ~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = long unsigned int; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = long unsigned int; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h:476:15: error: call of ‘(ducc0::detail_mav::vmav) (size_t&)’ is ambiguous [-Wtemplate-body] 476 | mstart(i) = ofs-i; | ~~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = long unsigned int; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = long unsigned int; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h: In member function ‘void ducc0::detail_totalconvolve::ConvolverPlan::updateSlm(const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav, 2>&, size_t, const ducc0::detail_mav::vmav&) const’: ./src/ducc0/sht/totalconvolve.h:627:14: error: call of ‘(ducc0::detail_mav::vmav) (size_t&)’ is ambiguous [-Wtemplate-body] 627 | theta(i) = (i*pi)/(ntheta_s-1); | ~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h:634:13: error: call of ‘(ducc0::detail_mav::vmav) (size_t&)’ is ambiguous [-Wtemplate-body] 634 | mval(i) = i; | ~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = long unsigned int; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = long unsigned int; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h:635:15: error: call of ‘(ducc0::detail_mav::vmav) (size_t&)’ is ambiguous [-Wtemplate-body] 635 | mstart(i) = ofs-i; | ~~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = long unsigned int; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = long unsigned int; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ In file included from python/ducc.cc:20: ./python/healpix_pymod.cc: In member function ‘pybind11::dict ducc0::detail_pymodule_healpix::Pyhpbase::sht_info() const’: ./python/healpix_pymod.cc:316:14: error: call of ‘(ducc0::detail_mav::vmav) (size_t&)’ is ambiguous 316 | theta(r) = ringtheta; | ~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./python/healpix_pymod.cc:317:14: error: call of ‘(ducc0::detail_mav::vmav) (size_t&)’ is ambiguous 317 | theta(rs) = pi-ringtheta; | ~~~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./python/healpix_pymod.cc:318:13: error: call of ‘(ducc0::detail_mav::vmav) (size_t&)’ is ambiguous 318 | nphi(r) = nphi(rs) = size_t(ringpix); | ~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = long unsigned int; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = long unsigned int; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./python/healpix_pymod.cc:318:23: error: call of ‘(ducc0::detail_mav::vmav) (size_t&)’ is ambiguous 318 | nphi(r) = nphi(rs) = size_t(ringpix); | ~~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = long unsigned int; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = long unsigned int; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./python/healpix_pymod.cc:319:13: error: call of ‘(ducc0::detail_mav::vmav) (size_t&)’ is ambiguous 319 | phi0(r) = phi0(rs) = shifted ? (pi/ringpix) : 0.; | ~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./python/healpix_pymod.cc:319:23: error: call of ‘(ducc0::detail_mav::vmav) (size_t&)’ is ambiguous 319 | phi0(r) = phi0(rs) = shifted ? (pi/ringpix) : 0.; | ~~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./python/healpix_pymod.cc:320:18: error: call of ‘(ducc0::detail_mav::vmav) (size_t&)’ is ambiguous 320 | ringstart(r) = size_t(startpix); | ~~~~~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = long unsigned int; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = long unsigned int; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./python/healpix_pymod.cc:321:18: error: call of ‘(ducc0::detail_mav::vmav) (size_t&)’ is ambiguous 321 | ringstart(rs) = size_t(base.Npix() - startpix - ringpix); | ~~~~~~~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = long unsigned int; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = long unsigned int; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ In file included from ./python/misc_pymod.cc:40, from python/ducc.cc:21: ./src/ducc0/math/mcm.h: In function ‘void ducc0::coupling_matrix_spin0_tri(const detail_mav::cmav&, size_t, const detail_mav::vmav&, size_t)’: ./src/ducc0/math/mcm.h:57:12: error: call of ‘(ducc0::detail_mav::vmav) (size_t&, size_t&)’ is ambiguous [-Wtemplate-body] 57 | spec2(i,l) = spec(i,l)/ducc0::fourpi*(2.*l+1.); | ~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h:60:12: error: call of ‘(ducc0::detail_mav::vmav) (size_t&, size_t&)’ is ambiguous [-Wtemplate-body] 60 | spec2(i,l) = 0.; | ~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h: In lambda function: ./src/ducc0/math/mcm.h:89:42: error: call of ‘(ducc0::detail_mav::vmav) (int, int&)’ is ambiguous [-Wtemplate-body] 89 | val += res[i2]*Tsimd(&spec2(0,el3), element_aligned_tag()); | ~~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h:106:51: error: call of ‘(ducc0::detail_mav::vmav) (size_t&, int&)’ is ambiguous [-Wtemplate-body] 106 | val[ispec] += res[i2]*Tsimd(&spec2(ispec,el3), element_aligned_tag()); | ~~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h:124:51: error: call of ‘(ducc0::detail_mav::vmav) (size_t&, int&)’ is ambiguous [-Wtemplate-body] 124 | val[ispec] += res[i2]*Tsimd(&spec2(ispec,el3), element_aligned_tag()); | ~~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h:142:51: error: call of ‘(ducc0::detail_mav::vmav) (size_t&, int&)’ is ambiguous [-Wtemplate-body] 142 | val[ispec] += res[i2]*Tsimd(&spec2(ispec,el3), element_aligned_tag()); | ~~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h:159:51: error: call of ‘(ducc0::detail_mav::vmav) (size_t&, int&)’ is ambiguous [-Wtemplate-body] 159 | val[ispec] += res[i2]*Tsimd(&spec2(ispec,el3), element_aligned_tag()); | ~~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h:175:51: error: call of ‘(ducc0::detail_mav::vmav) (size_t&, int&)’ is ambiguous [-Wtemplate-body] 175 | val[ispec] += res[i2]*Tsimd(&spec2(ispec,el3), element_aligned_tag()); | ~~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h: In function ‘void ducc0::coupling_matrix_spin0and2_tri(const detail_mav::cmav&, size_t, const detail_mav::vmav&, size_t)’: ./src/ducc0/math/mcm.h:243:14: error: call of ‘(ducc0::detail_mav::vmav) (size_t&, size_t&, size_t&)’ is ambiguous [-Wtemplate-body] 243 | spec2(i,j,l) = spec(i,j,l)/ducc0::fourpi*(2.*l+1.); | ~~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h:247:14: error: call of ‘(ducc0::detail_mav::vmav) (size_t&, size_t&, size_t&)’ is ambiguous [-Wtemplate-body] 247 | spec2(i,j,l) = 0.; | ~~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h: In lambda function: ./src/ducc0/math/mcm.h:277:50: error: call of ‘(ducc0::detail_mav::vmav >, 2>) (int, int)’ is ambiguous [-Wtemplate-body] 277 | const Tsimd * DUCC0_RESTRICT wp0 = &wig(0,0); | ~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h:278:50: error: call of ‘(ducc0::detail_mav::vmav >, 2>) (int, int)’ is ambiguous [-Wtemplate-body] 278 | const Tsimd * DUCC0_RESTRICT wp1 = &wig(1,0); | ~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h:294:37: error: call of ‘(ducc0::detail_mav::vmav) (int, size_t&, int&)’ is ambiguous [-Wtemplate-body] 294 | sp[i] = Tsimd(&spec2(0,i,el3), element_aligned_tag()); | ~~~~~^~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h:304:48: error: call of ‘(ducc0::detail_mav::vmav) (int, int, int)’ is ambiguous [-Wtemplate-body] 304 | val[immm] += w11p1*Tsimd(&spec2(0,is22,el3+1), element_aligned_tag()); | ~~~~~^~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int, int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int, int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h:327:39: error: call of ‘(ducc0::detail_mav::vmav) (size_t&, size_t&, int&)’ is ambiguous [-Wtemplate-body] 327 | sp[i] = Tsimd(&spec2(ispec,i,el3), element_aligned_tag()); | ~~~~~^~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h:337:57: error: call of ‘(ducc0::detail_mav::vmav) (size_t&, int, int)’ is ambiguous [-Wtemplate-body] 337 | val[ispec][immm] += w11p1*Tsimd(&spec2(ispec,is22,el3+1), element_aligned_tag()); | ~~~~~^~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, int, int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, int, int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h:361:39: error: call of ‘(ducc0::detail_mav::vmav) (size_t&, size_t&, int&)’ is ambiguous [-Wtemplate-body] 361 | sp[i] = Tsimd(&spec2(ispec,i,el3), element_aligned_tag()); | ~~~~~^~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h:371:57: error: call of ‘(ducc0::detail_mav::vmav) (size_t&, int, int)’ is ambiguous [-Wtemplate-body] 371 | val[ispec][immm] += w11p1*Tsimd(&spec2(ispec,is22,el3+1), element_aligned_tag()); | ~~~~~^~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, int, int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, int, int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h:394:39: error: call of ‘(ducc0::detail_mav::vmav) (size_t&, size_t&, int&)’ is ambiguous [-Wtemplate-body] 394 | sp[i] = Tsimd(&spec2(ispec,i,el3), element_aligned_tag()); | ~~~~~^~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h:404:57: error: call of ‘(ducc0::detail_mav::vmav) (size_t&, int, int)’ is ambiguous [-Wtemplate-body] 404 | val[ispec][immm] += w11p1*Tsimd(&spec2(ispec,is22,el3+1), element_aligned_tag()); | ~~~~~^~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, int, int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, int, int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h: In function ‘void ducc0::coupling_matrix_spin0and2_pure(const detail_mav::cmav&, size_t, const detail_mav::vmav&, size_t)’: ./src/ducc0/math/mcm.h:446:14: error: call of ‘(ducc0::detail_mav::vmav) (size_t&, size_t&, size_t&)’ is ambiguous [-Wtemplate-body] 446 | spec2(i,j,l) = spec(i,j,l)/ducc0::fourpi*(2.*l+1.); | ~~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h:450:14: error: call of ‘(ducc0::detail_mav::vmav) (size_t&, size_t&, size_t&)’ is ambiguous [-Wtemplate-body] 450 | spec2(i,j,l) = 0.; | ~~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h: In lambda function: ./src/ducc0/math/mcm.h:507:36: error: call of ‘(ducc0::detail_mav::vmav) (size_t&, int, int&)’ is ambiguous [-Wtemplate-body] 507 | const Tsimd s0(&spec2(ispec,0,el3), element_aligned_tag()), | ~~~~~^~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, int, int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, int, int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h:508:36: error: call of ‘(ducc0::detail_mav::vmav) (size_t&, int, int&)’ is ambiguous [-Wtemplate-body] 508 | s1(&spec2(ispec,1,el3), element_aligned_tag()), | ~~~~~^~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, int, int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, int, int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h:509:36: error: call of ‘(ducc0::detail_mav::vmav) (size_t&, int, int&)’ is ambiguous [-Wtemplate-body] 509 | s2(&spec2(ispec,2,el3), element_aligned_tag()), | ~~~~~^~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, int, int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, int, int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h:510:36: error: call of ‘(ducc0::detail_mav::vmav) (size_t&, int, int&)’ is ambiguous [-Wtemplate-body] 510 | s3(&spec2(ispec,3,el3), element_aligned_tag()); | ~~~~~^~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, int, int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, int, int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h:511:35: error: call of ‘(ducc0::detail_mav::vmav >, 2>) (int, int&)’ is ambiguous [-Wtemplate-body] 511 | val[ispec][0] += wig(0,el3)*wig(0,el3)*s0; | ~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h:511:46: error: call of ‘(ducc0::detail_mav::vmav >, 2>) (int, int&)’ is ambiguous [-Wtemplate-body] 511 | val[ispec][0] += wig(0,el3)*wig(0,el3)*s0; | ~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h:512:32: error: call of ‘(ducc0::detail_mav::vmav >, 2>) (int, int&)’ is ambiguous [-Wtemplate-body] 512 | auto combin = wig(1,el3) + fac_b*wig(2,el3) + fac_c*wig(3,el3); | ~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h:512:51: error: call of ‘(ducc0::detail_mav::vmav >, 2>) (int, int&)’ is ambiguous [-Wtemplate-body] 512 | auto combin = wig(1,el3) + fac_b*wig(2,el3) + fac_c*wig(3,el3); | ~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h:512:70: error: call of ‘(ducc0::detail_mav::vmav >, 2>) (int, int&)’ is ambiguous [-Wtemplate-body] 512 | auto combin = wig(1,el3) + fac_b*wig(2,el3) + fac_c*wig(3,el3); | ~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h:513:35: error: call of ‘(ducc0::detail_mav::vmav >, 2>) (int, int&)’ is ambiguous [-Wtemplate-body] 513 | val[ispec][1] += wig(0,el3)*combin*s1; | ~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h:514:35: error: call of ‘(ducc0::detail_mav::vmav >, 2>) (int, int&)’ is ambiguous [-Wtemplate-body] 514 | val[ispec][2] += wig(0,el3)*combin*s2; | ~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h:515:58: error: call of ‘(ducc0::detail_mav::vmav) (size_t&, int, int&)’ is ambiguous [-Wtemplate-body] 515 | val[ispec][3] += combin*combin*Tsimd(&spec2(ispec,3,el3), element_aligned_tag()); | ~~~~~^~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, int, int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, int, int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h:516:33: error: call of ‘(ducc0::detail_mav::vmav >, 2>) (int, int&)’ is ambiguous [-Wtemplate-body] 516 | auto xcombin = wig(1,el3) + xfac_b*wig(4,el3) + xfac_c*wig(5,el3); | ~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h:516:53: error: call of ‘(ducc0::detail_mav::vmav >, 2>) (int, int&)’ is ambiguous [-Wtemplate-body] 516 | auto xcombin = wig(1,el3) + xfac_b*wig(4,el3) + xfac_c*wig(5,el3); | ~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h:516:73: error: call of ‘(ducc0::detail_mav::vmav >, 2>) (int, int&)’ is ambiguous [-Wtemplate-body] 516 | auto xcombin = wig(1,el3) + xfac_b*wig(4,el3) + xfac_c*wig(5,el3); | ~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h:517:35: error: call of ‘(ducc0::detail_mav::vmav >, 2>) (int, int&)’ is ambiguous [-Wtemplate-body] 517 | val[ispec][4] += wig(0,el3)*xcombin*s1; | ~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h:518:35: error: call of ‘(ducc0::detail_mav::vmav >, 2>) (int, int&)’ is ambiguous [-Wtemplate-body] 518 | val[ispec][5] += wig(0,el3)*xcombin*s2; | ~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./python/misc_pymod.cc: In function ‘pybind11::array ducc0::detail_pymodule_misc::Py_GL_weights(size_t, size_t)’: ./python/misc_pymod.cc:220:9: error: call of ‘(ducc0::detail_mav::vmav) (size_t&)’ is ambiguous 220 | res2(i) = wgt[i]*twopi/nlon; | ~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./python/misc_pymod.cc: In function ‘pybind11::array ducc0::detail_pymodule_misc::Py_GL_thetas(size_t)’: ./python/misc_pymod.cc:235:9: error: call of ‘(ducc0::detail_mav::vmav) (size_t&)’ is ambiguous 235 | res2(i) = th[nlat-1-i]; | ~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./python/misc_pymod.cc: In member function ‘void ducc0::detail_pymodule_misc::OofaNoise::filterGaussian(const ducc0::detail_mav::vmav&)’: ./python/misc_pymod.cc:463:13: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&)’ is ambiguous 463 | data(i) = sigma*filter(data(i)); | ~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./python/misc_pymod.cc:463:36: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&)’ is ambiguous 463 | data(i) = sigma*filter(data(i)); | ~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./python/misc_pymod.cc: In function ‘double ducc0::detail_pymodule_misc::get_max_kernel_error(const std::function(const std::vector&, const std::vector&)>&, const std::vector&, size_t, size_t, size_t, double, size_t, double)’: ./python/misc_pymod.cc:635:7: error: call of ‘(ducc0::detail_mav::vmav) (size_t&)’ is ambiguous 635 | nu(i) = (i+0.5)/(2*M); | ~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./python/misc_pymod.cc:657:9: error: call of ‘(ducc0::detail_mav::vmav) (size_t&, size_t&)’ is ambiguous 657 | Cr(j,r) = lam((indx+0.5)/(W*M)); | ~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./python/misc_pymod.cc:668:48: error: call of ‘(ducc0::detail_mav::vmav) (size_t&)’ is ambiguous 668 | auto fct = polar(1., 2*pi * (-(W/2.) - nu(j))*xi); | ~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./python/misc_pymod.cc:673:22: error: call of ‘(ducc0::detail_mav::vmav) (size_t&, size_t&)’ is ambiguous 673 | tmp += fct*Cr(j,r); | ~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc: In instantiation of ‘void ducc0::detail_wigner3j::wigner3j_00_vec_squared_compact(Tsimd, Tsimd, const ducc0::detail_mav::vmav&) [with Tsimd = std::experimental::parallelism_v2::simd >]’: ./src/ducc0/math/wigner3j.cc:871:134: required from here 871 | template void wigner3j_00_vec_squared_compact (native_simd l2, native_simd l3, const vmav,1> &res); | ^ ./src/ducc0/math/wigner3j.cc:850:6: error: call of ‘(const ducc0::detail_mav::vmav >, 1>) (int)’ is ambiguous 850 | res(0) = 1.; | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:851:34: error: call of ‘(const ducc0::detail_mav::vmav >, 1>) (int)’ is ambiguous 851 | Tsimd sum = (2.*l1min+1.) * res(0); | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:862:8: error: call of ‘(const ducc0::detail_mav::vmav >, 1>) (int)’ is ambiguous 862 | res(i+1) = res(i)*tmp1; | ~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:862:19: error: call of ‘(const ducc0::detail_mav::vmav >, 1>) (int&)’ is ambiguous 862 | res(i+1) = res(i)*tmp1; | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:864:28: error: call of ‘(const ducc0::detail_mav::vmav >, 1>) (int)’ is ambiguous 864 | sum += (2.*l1p1+1.)*res(i+1); | ~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:869:8: error: call of ‘(const ducc0::detail_mav::vmav >, 1>) (int&)’ is ambiguous 869 | res(k)*=cnorm; | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc: In instantiation of ‘void ducc0::detail_wigner3j::flexible_wigner3j_vec(Tsimd, Tsimd, double, double, Tsimd, const ducc0::detail_mav::vmav&) [with Tsimd = std::experimental::parallelism_v2::simd >]’: ./src/ducc0/math/wigner3j.cc:952:139: required from here 952 | (native_simd l2, native_simd l3, double m2, double m3, native_simd l1min, const vmav,1> &res); | ^ ./src/ducc0/math/wigner3j.cc:941:50: error: call of ‘(const ducc0::detail_mav::vmav >, 1>) (size_t&)’ is ambiguous 941 | for (size_t i=0; i class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:942:71: error: call of ‘(const ducc0::detail_mav::vmav >, 1>) (size_t&)’ is ambiguous 942 | for (size_t i=size_t(xofs1[0]+xncoef[0]); i class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./python/sht_pymod.cc: In instantiation of ‘pybind11::array ducc0::detail_pymodule_sht::Py2_rotate_alm(const pybind11::array&, size_t, double, double, double, size_t) [with T = float; size_t = long unsigned int]’: ./python/sht_pymod.cc:82:33: required from here 82 | return Py2_rotate_alm(alm, lmax, psi, theta, phi, nthreads); | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/sht_pymod.cc:72:42: error: call of ‘(ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 72 | for (size_t i=0; i class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./python/sht_pymod.cc: In instantiation of ‘pybind11::array ducc0::detail_pymodule_sht::Py2_rotate_alm(const pybind11::array&, size_t, double, double, double, size_t) [with T = double; size_t = long unsigned int]’: ./python/sht_pymod.cc:84:34: required from here 84 | return Py2_rotate_alm(alm, lmax, psi, theta, phi, nthreads); | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/sht_pymod.cc:72:42: error: call of ‘(ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 72 | for (size_t i=0; i class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./python/sht_pymod.cc: In instantiation of ‘pybind11::array ducc0::detail_pymodule_sht::Py2_alm2flm(const pybind11::array&, int, pybind11::object&) [with T = float]’: ./python/sht_pymod.cc:244:30: required from here 244 | return Py2_alm2flm(alm, spin, flm); | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~ ./python/sht_pymod.cc:227:12: error: call of ‘(ducc0::detail_mav::vmav, 2>) (size_t&, long unsigned int)’ is ambiguous 227 | flm(l, lmax+m) = fp; | ~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./python/sht_pymod.cc:228:12: error: call of ‘(ducc0::detail_mav::vmav, 2>) (size_t&, long unsigned int)’ is ambiguous 228 | flm(l, lmax-m) = mfac*conj(fm); | ~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./python/sht_pymod.cc:232:12: error: call of ‘(ducc0::detail_mav::vmav, 2>) (size_t&, long unsigned int)’ is ambiguous 232 | flm(l, lmax+m) = sfac*fm; | ~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./python/sht_pymod.cc:233:12: error: call of ‘(ducc0::detail_mav::vmav, 2>) (size_t&, long unsigned int)’ is ambiguous 233 | flm(l, lmax-m) = sfac*mfac*conj(fp); | ~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./python/sht_pymod.cc: In instantiation of ‘pybind11::array ducc0::detail_pymodule_sht::Py2_alm2flm(const pybind11::array&, int, pybind11::object&) [with T = double]’: ./python/sht_pymod.cc:246:31: required from here 246 | return Py2_alm2flm(alm, spin, flm); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~ ./python/sht_pymod.cc:227:12: error: call of ‘(ducc0::detail_mav::vmav, 2>) (size_t&, long unsigned int)’ is ambiguous 227 | flm(l, lmax+m) = fp; | ~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./python/sht_pymod.cc:228:12: error: call of ‘(ducc0::detail_mav::vmav, 2>) (size_t&, long unsigned int)’ is ambiguous 228 | flm(l, lmax-m) = mfac*conj(fm); | ~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./python/sht_pymod.cc:232:12: error: call of ‘(ducc0::detail_mav::vmav, 2>) (size_t&, long unsigned int)’ is ambiguous 232 | flm(l, lmax+m) = sfac*fm; | ~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./python/sht_pymod.cc:233:12: error: call of ‘(ducc0::detail_mav::vmav, 2>) (size_t&, long unsigned int)’ is ambiguous 233 | flm(l, lmax-m) = sfac*mfac*conj(fp); | ~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./python/sht_pymod.cc: In instantiation of ‘pybind11::array ducc0::detail_pymodule_sht::Py2_flm2alm(const pybind11::array&, int, pybind11::object&, bool) [with T = float]’: ./python/sht_pymod.cc:292:30: required from here 292 | return Py2_flm2alm(flm, spin, alm, real); | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/sht_pymod.cc:272:12: error: call of ‘(ducc0::detail_mav::vmav, 2>) (int, size_t)’ is ambiguous 272 | alm(0, ofs-m+l) = (fp+fm)*T(0.5); | ~~~^~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./python/sht_pymod.cc:274:14: error: call of ‘(ducc0::detail_mav::vmav, 2>) (int, size_t)’ is ambiguous 274 | alm(1, ofs-m+l) = (fp-fm)*complex(T(0),T(-0.5)); | ~~~^~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./python/sht_pymod.cc:280:12: error: call of ‘(ducc0::detail_mav::vmav, 2>) (int, size_t)’ is ambiguous 280 | alm(0, ofs-m+l) = (fp+fm)*T(0.5); | ~~~^~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./python/sht_pymod.cc:281:12: error: call of ‘(ducc0::detail_mav::vmav, 2>) (int, size_t)’ is ambiguous 281 | alm(1, ofs-m+l) = (fp-fm)*complex(T(0),T(-0.5)); | ~~~^~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./python/sht_pymod.cc: In instantiation of ‘pybind11::array ducc0::detail_pymodule_sht::Py2_flm2alm(const pybind11::array&, int, pybind11::object&, bool) [with T = double]’: ./python/sht_pymod.cc:294:31: required from here 294 | return Py2_flm2alm(flm, spin, alm, real); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/sht_pymod.cc:272:12: error: call of ‘(ducc0::detail_mav::vmav, 2>) (int, size_t)’ is ambiguous 272 | alm(0, ofs-m+l) = (fp+fm)*T(0.5); | ~~~^~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./python/sht_pymod.cc:274:14: error: call of ‘(ducc0::detail_mav::vmav, 2>) (int, size_t)’ is ambiguous 274 | alm(1, ofs-m+l) = (fp-fm)*complex(T(0),T(-0.5)); | ~~~^~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./python/sht_pymod.cc:280:12: error: call of ‘(ducc0::detail_mav::vmav, 2>) (int, size_t)’ is ambiguous 280 | alm(0, ofs-m+l) = (fp+fm)*T(0.5); | ~~~^~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./python/sht_pymod.cc:281:12: error: call of ‘(ducc0::detail_mav::vmav, 2>) (int, size_t)’ is ambiguous 281 | alm(1, ofs-m+l) = (fp-fm)*complex(T(0),T(-0.5)); | ~~~^~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./python/misc_pymod.cc: In instantiation of ‘pybind11::array ducc0::detail_pymodule_misc::Py2_get_deflected_angles(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::array&, bool, pybind11::object&, size_t, const pybind11::object&) [with Tout = float; size_t = long unsigned int]’: ./python/misc_pymod.cc:1045:43: required from here 1045 | return Py2_get_deflected_angles(theta_, phi0_, nphi_, ringstart_, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1046 | deflect_, calc_rotation, res__, nthreads, dphi_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/misc_pymod.cc:1021:14: error: call of ‘(ducc0::detail_mav::vmav) (size_t&, int)’ is ambiguous 1021 | res(i,0) = Tout(n_prime.theta); | ~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./python/misc_pymod.cc:1022:14: error: call of ‘(ducc0::detail_mav::vmav) (size_t&, int)’ is ambiguous 1022 | res(i,1) = Tout(phinew); | ~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./python/misc_pymod.cc:1028:18: error: call of ‘(ducc0::detail_mav::vmav) (size_t&, int)’ is ambiguous 1028 | res(i, 2) = Tout(atan2(a_phi * temp, e_r.x + a_theta * temp)); | ~~~^~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./python/misc_pymod.cc:1031:18: error: call of ‘(ducc0::detail_mav::vmav) (size_t&, int)’ is ambiguous 1031 | res(i, 2) = Tout(0); | ~~~^~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./python/misc_pymod.cc: In instantiation of ‘pybind11::array ducc0::detail_pymodule_misc::Py2_get_deflected_angles(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::array&, bool, pybind11::object&, size_t, const pybind11::object&) [with Tout = double; size_t = long unsigned int]’: ./python/misc_pymod.cc:1048:44: required from here 1048 | return Py2_get_deflected_angles(theta_, phi0_, nphi_, ringstart_, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1049 | deflect_, calc_rotation, res__, nthreads, dphi_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/misc_pymod.cc:1021:14: error: call of ‘(ducc0::detail_mav::vmav) (size_t&, int)’ is ambiguous 1021 | res(i,0) = Tout(n_prime.theta); | ~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./python/misc_pymod.cc:1022:14: error: call of ‘(ducc0::detail_mav::vmav) (size_t&, int)’ is ambiguous 1022 | res(i,1) = Tout(phinew); | ~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./python/misc_pymod.cc:1028:18: error: call of ‘(ducc0::detail_mav::vmav) (size_t&, int)’ is ambiguous 1028 | res(i, 2) = Tout(atan2(a_phi * temp, e_r.x + a_theta * temp)); | ~~~^~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./python/misc_pymod.cc:1031:18: error: call of ‘(ducc0::detail_mav::vmav) (size_t&, int)’ is ambiguous 1031 | res(i, 2) = Tout(0); | ~~~^~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc: In instantiation of ‘void ducc0::detail_wigner3j::wigner3j_internal_vec(Tsimd, Tsimd, double, double, const ducc0::detail_mav::vmav&) [with Tsimd = std::experimental::parallelism_v2::simd >]’: ./src/ducc0/math/wigner3j.cc:940:26: required from ‘void ducc0::detail_wigner3j::flexible_wigner3j_vec(Tsimd, Tsimd, double, double, Tsimd, const ducc0::detail_mav::vmav&) [with Tsimd = std::experimental::parallelism_v2::simd >]’ 940 | wigner3j_internal_vec(l2, l3, m2, m3, sub); | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/math/wigner3j.cc:952:139: required from here 952 | (native_simd l2, native_simd l3, double m2, double m3, native_simd l1min, const vmav,1> &res); | ^ ./src/ducc0/math/wigner3j.cc:465:6: error: call of ‘(const ducc0::detail_mav::vmav >, 1>) (int&)’ is ambiguous 465 | res(i) = srtiny; | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:466:37: error: call of ‘(const ducc0::detail_mav::vmav >, 1>) (int&)’ is ambiguous 466 | Tsimd sumfor = (2.*l1min+1.) * res(i)*res(i); | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:466:44: error: call of ‘(const ducc0::detail_mav::vmav >, 1>) (int&)’ is ambiguous 466 | Tsimd sumfor = (2.*l1min+1.) * res(i)*res(i); | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:489:10: error: call of ‘(const ducc0::detail_mav::vmav >, 1>) (int&)’ is ambiguous 489 | res(i) = res(i-1)*c1 - res(i-2)*l1*oldfac*tmp1; | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:489:19: error: call of ‘(const ducc0::detail_mav::vmav >, 1>) (int)’ is ambiguous 489 | res(i) = res(i-1)*c1 - res(i-2)*l1*oldfac*tmp1; | ~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:489:33: error: call of ‘(const ducc0::detail_mav::vmav >, 1>) (int)’ is ambiguous 489 | res(i) = res(i-1)*c1 - res(i-2)*l1*oldfac*tmp1; | ~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:495:10: error: call of ‘(const ducc0::detail_mav::vmav >, 1>) (int&)’ is ambiguous 495 | res(i) = res(i-1)*c1; | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:495:19: error: call of ‘(const ducc0::detail_mav::vmav >, 1>) (int)’ is ambiguous 495 | res(i) = res(i-1)*c1; | ~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:501:52: error: call of ‘(const ducc0::detail_mav::vmav >, 1>) (int&)’ is ambiguous 501 | sumfor += blend(done, Tsimd(0.), (2.*l1+1.)*res(i)*res(i)); | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:501:59: error: call of ‘(const ducc0::detail_mav::vmav >, 1>) (int&)’ is ambiguous 501 | sumfor += blend(done, Tsimd(0.), (2.*l1+1.)*res(i)*res(i)); | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:504:47: error: call of ‘(const ducc0::detail_mav::vmav >, 1>) (int&)’ is ambiguous 504 | resamax = blend(done, resamax, max(abs(res(i)), resamax)); | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:516:12: error: call of ‘(const ducc0::detail_mav::vmav >, 1>) (int&)’ is ambiguous 516 | res(j)*=fct; | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:532:40: error: call of ‘(const ducc0::detail_mav::vmav >, 1>) (int)’ is ambiguous 532 | bool last_coeff_is_negative = res(ncoef-1)[k]<0.; | ~~~^~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:537:10: error: call of ‘(const ducc0::detail_mav::vmav >, 1>) (int&)’ is ambiguous 537 | res(j) *= cnorm; | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:545:23: error: call of ‘(const ducc0::detail_mav::vmav >, 1>) (int)’ is ambiguous 545 | x1[k] = double(res(int(splitidx[k])-2)[k]); | ~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:546:23: error: call of ‘(const ducc0::detail_mav::vmav >, 1>) (int)’ is ambiguous 546 | x2[k] = double(res(int(splitidx[k])-1)[k]); | ~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:547:23: error: call of ‘(const ducc0::detail_mav::vmav >, 1>) (int)’ is ambiguous 547 | x3[k] = double(res(int(splitidx[k]) )[k]); | ~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:556:34: error: call of ‘(const ducc0::detail_mav::vmav >, 1>) (int&)’ is ambiguous 556 | where(Tsimd(i)>=splitidx-2, res(i)) = srtiny; | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:557:58: error: call of ‘(const ducc0::detail_mav::vmav >, 1>) (int&)’ is ambiguous 557 | where(Tsimd(i)>splitidx, sumbac) += (2.*l1max+1.) * res(i)*res(i); | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:557:65: error: call of ‘(const ducc0::detail_mav::vmav >, 1>) (int&)’ is ambiguous 557 | where(Tsimd(i)>splitidx, sumbac) += (2.*l1max+1.) * res(i)*res(i); | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:570:17: error: call of ‘(const ducc0::detail_mav::vmav >, 1>) (int)’ is ambiguous 570 | tmp = (res(i+1) * (2.*l1+3.)*(pre2-(l1p1sq+l1+1.)*m3mm2) | ~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:571:20: error: call of ‘(const ducc0::detail_mav::vmav >, 1>) (int)’ is ambiguous 571 | -res(i+2) * (l1+1.)*oldfac) | ~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:574:16: error: call of ‘(const ducc0::detail_mav::vmav >, 1>) (int)’ is ambiguous 574 | tmp = res(i+1)*(2.*l1+3.)*(pre2-(l1p1sq+l1+1.)*m3mm2) | ~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:576:36: error: call of ‘(const ducc0::detail_mav::vmav >, 1>) (int&)’ is ambiguous 576 | where(Tsimd(i)>=splitidx-2, res(i)) = tmp; | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:579:55: error: call of ‘(const ducc0::detail_mav::vmav >, 1>) (int&)’ is ambiguous 579 | where(Tsimd(i)>splitidx, sumbac) += (2.*l1+1.)*res(i)*res(i); | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:579:62: error: call of ‘(const ducc0::detail_mav::vmav >, 1>) (int&)’ is ambiguous 579 | where(Tsimd(i)>splitidx, sumbac) += (2.*l1+1.)*res(i)*res(i); | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:581:57: error: call of ‘(const ducc0::detail_mav::vmav >, 1>) (int&)’ is ambiguous 581 | where(Tsimd(i)>=(splitidx-2), resamax) = max(abs(res(i)), resamax); | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:593:12: error: call of ‘(const ducc0::detail_mav::vmav >, 1>) (int&)’ is ambiguous 593 | res(j) *= fct; | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:604:23: error: call of ‘(const ducc0::detail_mav::vmav >, 1>) (int)’ is ambiguous 604 | x4[k] = double(res(int(splitidx[k])-2)[k]); | ~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:605:23: error: call of ‘(const ducc0::detail_mav::vmav >, 1>) (int)’ is ambiguous 605 | x5[k] = double(res(int(splitidx[k])-1)[k]); | ~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:606:23: error: call of ‘(const ducc0::detail_mav::vmav >, 1>) (int)’ is ambiguous 606 | x6[k] = double(res(int(splitidx[k]) )[k]); | ~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:624:8: error: call of ‘(const ducc0::detail_mav::vmav >, 1>) (int&)’ is ambiguous 624 | res(j) *= blend(Tsimd(j) class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc: In instantiation of ‘void ducc0::detail_sht::analysis_2d(const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, ptrdiff_t, const std::string&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, ptrdiff_t, size_t) [with T = double; size_t = long unsigned int; ptrdiff_t = long int; std::string = std::__cxx11::basic_string]’: ./src/ducc0/sht/sht.cc:2816:14: required from ‘void ducc0::detail_sht::analysis_2d(const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, ptrdiff_t, const std::string&, double, size_t) [with T = double; size_t = long unsigned int; ptrdiff_t = long int; std::string = std::__cxx11::basic_string]’ 2816 | analysis_2d(alm, map2, spin, lmax, mstart, lstride, geometry, nphi, phi0_, ringstart, pixstride, nthreads); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sht.cc:2821:55: required from here 2821 | const string &geometry, double phi0, size_t nthreads); | ^ ./src/ducc0/sht/sht.cc:2775:15: error: call of ‘(ducc0::detail_mav::vmav, 3>) (size_t&, size_t&, size_t&)’ is ambiguous 2775 | legi(i,j,k) *= wgt1; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:2795:14: error: call of ‘(ducc0::detail_mav::vmav, 3>) (size_t&, size_t&, size_t&)’ is ambiguous 2795 | leg(i,j,k) *= wgt1; | ~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc: In instantiation of ‘void ducc0::detail_sht::analysis_2d(const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, ptrdiff_t, const std::string&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, ptrdiff_t, size_t) [with T = float; size_t = long unsigned int; ptrdiff_t = long int; std::string = std::__cxx11::basic_string]’: ./src/ducc0/sht/sht.cc:2816:14: required from ‘void ducc0::detail_sht::analysis_2d(const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, ptrdiff_t, const std::string&, double, size_t) [with T = float; size_t = long unsigned int; ptrdiff_t = long int; std::string = std::__cxx11::basic_string]’ 2816 | analysis_2d(alm, map2, spin, lmax, mstart, lstride, geometry, nphi, phi0_, ringstart, pixstride, nthreads); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sht.cc:2825:55: required from here 2825 | const string &geometry, double phi0, size_t nthreads); | ^ ./src/ducc0/sht/sht.cc:2775:15: error: call of ‘(ducc0::detail_mav::vmav, 3>) (size_t&, size_t&, size_t&)’ is ambiguous 2775 | legi(i,j,k) *= wgt1; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:2795:14: error: call of ‘(ducc0::detail_mav::vmav, 3>) (size_t&, size_t&, size_t&)’ is ambiguous 2795 | leg(i,j,k) *= wgt1; | ~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc: In instantiation of ‘void ducc0::detail_sht::adjoint_analysis_2d(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, ptrdiff_t, const std::string&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, ptrdiff_t, size_t) [with T = double; size_t = long unsigned int; ptrdiff_t = long int; std::string = std::__cxx11::basic_string]’: ./src/ducc0/sht/sht.cc:2918:22: required from ‘void ducc0::detail_sht::adjoint_analysis_2d(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, ptrdiff_t, const std::string&, double, size_t) [with T = double; size_t = long unsigned int; ptrdiff_t = long int; std::string = std::__cxx11::basic_string]’ 2918 | adjoint_analysis_2d(alm, map2, spin, lmax, mstart, lstride, geometry, nphi, phi0_, | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2919 | ringstart, pixstride, nthreads); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sht.cc:2922:131: required from here 2922 | size_t spin, size_t lmax, const cmav &mstart, ptrdiff_t lstride, const string &geometry, double phi0_, size_t nthreads); | ^ ./src/ducc0/sht/sht.cc:2884:15: error: call of ‘(ducc0::detail_mav::vmav, 3>) (size_t&, size_t&, size_t&)’ is ambiguous 2884 | lego(i,j,k) *= wgt1; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:2899:14: error: call of ‘(ducc0::detail_mav::vmav, 3>) (size_t&, size_t&, size_t&)’ is ambiguous 2899 | leg(i,j,k) *= wgt1; | ~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc: In instantiation of ‘void ducc0::detail_sht::adjoint_analysis_2d(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, ptrdiff_t, const std::string&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, ptrdiff_t, size_t) [with T = float; size_t = long unsigned int; ptrdiff_t = long int; std::string = std::__cxx11::basic_string]’: ./src/ducc0/sht/sht.cc:2918:22: required from ‘void ducc0::detail_sht::adjoint_analysis_2d(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, ptrdiff_t, const std::string&, double, size_t) [with T = float; size_t = long unsigned int; ptrdiff_t = long int; std::string = std::__cxx11::basic_string]’ 2918 | adjoint_analysis_2d(alm, map2, spin, lmax, mstart, lstride, geometry, nphi, phi0_, | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2919 | ringstart, pixstride, nthreads); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sht.cc:2924:130: required from here 2924 | size_t spin, size_t lmax, const cmav &mstart, ptrdiff_t lstride, const string &geometry, double phi0, size_t nthreads); | ^ ./src/ducc0/sht/sht.cc:2884:15: error: call of ‘(ducc0::detail_mav::vmav, 3>) (size_t&, size_t&, size_t&)’ is ambiguous 2884 | lego(i,j,k) *= wgt1; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:2899:14: error: call of ‘(ducc0::detail_mav::vmav, 3>) (size_t&, size_t&, size_t&)’ is ambiguous 2899 | leg(i,j,k) *= wgt1; | ~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h: In instantiation of ‘void ducc0::detail_sphereinterpol::SphereInterpol::getPlane(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, ptrdiff_t, const ducc0::detail_mav::vmav&, ducc0::detail_sht::SHT_mode, ducc0::detail_timers::TimerHierarchy&) const [with T = float; ptrdiff_t = long int]’: ./src/ducc0/sht/sht.cc:2947:17: required from ‘void ducc0::detail_sht::synthesis_general(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, ptrdiff_t, const ducc0::detail_mav::cmav&, double, double, double, size_t, SHT_mode, bool) [with T = float; Tloc = double; size_t = long unsigned int; ptrdiff_t = long int]’ 2947 | inter.getPlane(alm, mstart, lstride, planes, mode, timers); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sht.cc:2959:99: required from here 2959 | double epsilon, double sigma_min, double sigma_max, size_t nthreads, SHT_mode mode, bool verbose); | ^ ./src/ducc0/sht/sphere_interpol.h:478:70: error: call of ‘(const ducc0::detail_mav::vmav) (int, const size_t&, long unsigned int)’ is ambiguous 478 | vmav,3> leg_s(reinterpret_cast *>(&planes(0,nbtheta,nbphi-1)), | ~~~~~~^~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:480:70: error: call of ‘(const ducc0::detail_mav::vmav) (int, const size_t&, long unsigned int)’ is ambiguous 480 | vmav,3> leg_b(reinterpret_cast *>(&planes(0,nbtheta,nbphi-1)), | ~~~~~~^~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:500:16: error: call of ‘(ducc0::detail_mav::vmav) (size_t&)’ is ambiguous 500 | phikrn2(j) = T(phikrn[(j+1)/2]); | ~~~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = float; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = float; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:511:19: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, long unsigned int, const size_t&)’ is ambiguous 511 | planes(iplane, nbtheta+i, nbphi) = planes(iplane, nbtheta+i, nbphi-1); | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:511:54: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, long unsigned int, long unsigned int)’ is ambiguous 511 | planes(iplane, nbtheta+i, nbphi) = planes(iplane, nbtheta+i, nbphi-1); | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:513:18: error: call of ‘(ducc0::detail_mav::vmav) (size_t&, size_t&)’ is ambiguous 513 | arr(i,j) *= phikrn2(j); | ~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:513:34: error: call of ‘(ducc0::detail_mav::vmav) (size_t&)’ is ambiguous 513 | arr(i,j) *= phikrn2(j); | ~~~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = float; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = float; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:515:18: error: call of ‘(ducc0::detail_mav::vmav) (size_t&, size_t&)’ is ambiguous 515 | arr(i,j) = T(0); | ~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:516:37: error: call of ‘(ducc0::detail_mav::vmav) (size_t&, int)’ is ambiguous 516 | rplan.exec_copyback(&arr(i,0), buf.data(), T(1), false); | ~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:530:19: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, long unsigned int, size_t)’ is ambiguous 530 | planes(iplane,nbtheta-1-i,j2+nbphi) = fct*planes(iplane,nbtheta+1+i,j+nbphi); | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:530:61: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, long unsigned int, size_t)’ is ambiguous 530 | planes(iplane,nbtheta-1-i,j2+nbphi) = fct*planes(iplane,nbtheta+1+i,j+nbphi); | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:531:19: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, long unsigned int, size_t)’ is ambiguous 531 | planes(iplane,nbtheta+ntheta_b+i,j2+nbphi) = fct*planes(iplane,nbtheta+ntheta_b-2-i,j+nbphi); | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:531:68: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, long unsigned int, size_t)’ is ambiguous 531 | planes(iplane,nbtheta+ntheta_b+i,j2+nbphi) = fct*planes(iplane,nbtheta+ntheta_b-2-i,j+nbphi); | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:537:19: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&, size_t&)’ is ambiguous 537 | planes(iplane,i,j) = planes(iplane,i,j+nphi_b); | ~~~~~~^~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:537:40: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&, size_t)’ is ambiguous 537 | planes(iplane,i,j) = planes(iplane,i,j+nphi_b); | ~~~~~~^~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:538:19: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&, size_t)’ is ambiguous 538 | planes(iplane,i,j+nphi_b+nbphi) = planes(iplane,i,j+nbphi); | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:538:53: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&, size_t)’ is ambiguous 538 | planes(iplane,i,j+nphi_b+nbphi) = planes(iplane,i,j+nbphi); | ~~~~~~^~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:542:19: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&, long unsigned int)’ is ambiguous 542 | planes(iplane, i, nphi-vlen+j) = T(0); | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h: In instantiation of ‘void ducc0::detail_sphereinterpol::SphereInterpol::getPlane(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, ptrdiff_t, const ducc0::detail_mav::vmav&, ducc0::detail_sht::SHT_mode, ducc0::detail_timers::TimerHierarchy&) const [with T = double; ptrdiff_t = long int]’: ./src/ducc0/sht/sht.cc:2947:17: required from ‘void ducc0::detail_sht::synthesis_general(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, ptrdiff_t, const ducc0::detail_mav::cmav&, double, double, double, size_t, SHT_mode, bool) [with T = double; Tloc = double; size_t = long unsigned int; ptrdiff_t = long int]’ 2947 | inter.getPlane(alm, mstart, lstride, planes, mode, timers); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sht.cc:2963:99: required from here 2963 | double epsilon, double sigma_min, double sigma_max, size_t nthreads, SHT_mode mode, bool verbose); | ^ ./src/ducc0/sht/sphere_interpol.h:478:70: error: call of ‘(const ducc0::detail_mav::vmav) (int, const size_t&, long unsigned int)’ is ambiguous 478 | vmav,3> leg_s(reinterpret_cast *>(&planes(0,nbtheta,nbphi-1)), | ~~~~~~^~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:480:70: error: call of ‘(const ducc0::detail_mav::vmav) (int, const size_t&, long unsigned int)’ is ambiguous 480 | vmav,3> leg_b(reinterpret_cast *>(&planes(0,nbtheta,nbphi-1)), | ~~~~~~^~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:500:16: error: call of ‘(ducc0::detail_mav::vmav) (size_t&)’ is ambiguous 500 | phikrn2(j) = T(phikrn[(j+1)/2]); | ~~~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:511:19: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, long unsigned int, const size_t&)’ is ambiguous 511 | planes(iplane, nbtheta+i, nbphi) = planes(iplane, nbtheta+i, nbphi-1); | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:511:54: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, long unsigned int, long unsigned int)’ is ambiguous 511 | planes(iplane, nbtheta+i, nbphi) = planes(iplane, nbtheta+i, nbphi-1); | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:513:18: error: call of ‘(ducc0::detail_mav::vmav) (size_t&, size_t&)’ is ambiguous 513 | arr(i,j) *= phikrn2(j); | ~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:513:34: error: call of ‘(ducc0::detail_mav::vmav) (size_t&)’ is ambiguous 513 | arr(i,j) *= phikrn2(j); | ~~~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:515:18: error: call of ‘(ducc0::detail_mav::vmav) (size_t&, size_t&)’ is ambiguous 515 | arr(i,j) = T(0); | ~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:516:37: error: call of ‘(ducc0::detail_mav::vmav) (size_t&, int)’ is ambiguous 516 | rplan.exec_copyback(&arr(i,0), buf.data(), T(1), false); | ~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:530:19: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, long unsigned int, size_t)’ is ambiguous 530 | planes(iplane,nbtheta-1-i,j2+nbphi) = fct*planes(iplane,nbtheta+1+i,j+nbphi); | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:530:61: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, long unsigned int, size_t)’ is ambiguous 530 | planes(iplane,nbtheta-1-i,j2+nbphi) = fct*planes(iplane,nbtheta+1+i,j+nbphi); | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:531:19: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, long unsigned int, size_t)’ is ambiguous 531 | planes(iplane,nbtheta+ntheta_b+i,j2+nbphi) = fct*planes(iplane,nbtheta+ntheta_b-2-i,j+nbphi); | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:531:68: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, long unsigned int, size_t)’ is ambiguous 531 | planes(iplane,nbtheta+ntheta_b+i,j2+nbphi) = fct*planes(iplane,nbtheta+ntheta_b-2-i,j+nbphi); | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:537:19: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&, size_t&)’ is ambiguous 537 | planes(iplane,i,j) = planes(iplane,i,j+nphi_b); | ~~~~~~^~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:537:40: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&, size_t)’ is ambiguous 537 | planes(iplane,i,j) = planes(iplane,i,j+nphi_b); | ~~~~~~^~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:538:19: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&, size_t)’ is ambiguous 538 | planes(iplane,i,j+nphi_b+nbphi) = planes(iplane,i,j+nbphi); | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:538:53: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&, size_t)’ is ambiguous 538 | planes(iplane,i,j+nphi_b+nbphi) = planes(iplane,i,j+nbphi); | ~~~~~~^~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:542:19: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&, long unsigned int)’ is ambiguous 542 | planes(iplane, i, nphi-vlen+j) = T(0); | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h: In instantiation of ‘void ducc0::detail_sphereinterpol::SphereInterpol::updateAlm(const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, ptrdiff_t, const ducc0::detail_mav::vmav&, ducc0::detail_sht::SHT_mode, ducc0::detail_timers::TimerHierarchy&) const [with T = float; ptrdiff_t = long int]’: ./src/ducc0/sht/sht.cc:2990:18: required from ‘void ducc0::detail_sht::adjoint_synthesis_general(const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, ptrdiff_t, const ducc0::detail_mav::cmav&, double, double, double, size_t, SHT_mode, bool) [with T = float; Tloc = double; size_t = long unsigned int; ptrdiff_t = long int]’ 2990 | inter.updateAlm(alm, mstart, lstride, planes, mode, timers); | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sht.cc:2997:99: required from here 2997 | double epsilon, double sigma_min, double sigma_max, size_t nthreads, SHT_mode mode, bool verbose); | ^ ./src/ducc0/sht/sphere_interpol.h:582:19: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&, size_t)’ is ambiguous 582 | planes(iplane,i,j+nphi_b) += planes(iplane,i,j); | ~~~~~~^~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:582:48: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&, size_t&)’ is ambiguous 582 | planes(iplane,i,j+nphi_b) += planes(iplane,i,j); | ~~~~~~^~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:583:19: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&, size_t)’ is ambiguous 583 | planes(iplane,i,j+nbphi) += planes(iplane,i,j+nphi_b+nbphi); | ~~~~~~^~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:583:47: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&, size_t)’ is ambiguous 583 | planes(iplane,i,j+nbphi) += planes(iplane,i,j+nphi_b+nbphi); | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:591:19: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, long unsigned int, size_t)’ is ambiguous 591 | planes(iplane,nbtheta+1+i,j+nbphi) += fct*planes(iplane,nbtheta-1-i,j2+nbphi); | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:591:61: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, long unsigned int, size_t)’ is ambiguous 591 | planes(iplane,nbtheta+1+i,j+nbphi) += fct*planes(iplane,nbtheta-1-i,j2+nbphi); | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:592:19: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, long unsigned int, size_t)’ is ambiguous 592 | planes(iplane,nbtheta+ntheta_b-2-i, j+nbphi) += fct*planes(iplane,nbtheta+ntheta_b+i,j2+nbphi); | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:592:71: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, long unsigned int, size_t)’ is ambiguous 592 | planes(iplane,nbtheta+ntheta_b-2-i, j+nbphi) += fct*planes(iplane,nbtheta+ntheta_b+i,j2+nbphi); | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:603:16: error: call of ‘(ducc0::detail_mav::vmav) (size_t&)’ is ambiguous 603 | phikrn2(j) = T(phikrn[(j+1)/2]); | ~~~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = float; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = float; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:613:37: error: call of ‘(ducc0::detail_mav::vmav) (size_t&, int)’ is ambiguous 613 | rplan.exec_copyback(&arr(i,0), buf.data(), T(1), true); | ~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:615:18: error: call of ‘(ducc0::detail_mav::vmav) (size_t&, size_t&)’ is ambiguous 615 | arr(i,j) *= phikrn2(j); | ~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:615:34: error: call of ‘(ducc0::detail_mav::vmav) (size_t&)’ is ambiguous 615 | arr(i,j) *= phikrn2(j); | ~~~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = float; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = float; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:617:19: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, long unsigned int, long unsigned int)’ is ambiguous 617 | planes(iplane, nbtheta+i, nbphi-1) = planes(iplane, nbtheta+i, nbphi); | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:617:56: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, long unsigned int, const size_t&)’ is ambiguous 617 | planes(iplane, nbtheta+i, nbphi-1) = planes(iplane, nbtheta+i, nbphi); | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:618:19: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, long unsigned int, const size_t&)’ is ambiguous 618 | planes(iplane, nbtheta+i, nbphi) = T(0); | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:629:70: error: call of ‘(const ducc0::detail_mav::vmav) (int, const size_t&, long unsigned int)’ is ambiguous 629 | vmav,3> leg_s(reinterpret_cast *>(&planes(0,nbtheta,nbphi-1)), | ~~~~~~^~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:631:70: error: call of ‘(const ducc0::detail_mav::vmav) (int, const size_t&, long unsigned int)’ is ambiguous 631 | vmav,3> leg_b(reinterpret_cast *>(&planes(0,nbtheta,nbphi-1)), | ~~~~~~^~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h: In instantiation of ‘void ducc0::detail_sphereinterpol::SphereInterpol::updateAlm(const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, ptrdiff_t, const ducc0::detail_mav::vmav&, ducc0::detail_sht::SHT_mode, ducc0::detail_timers::TimerHierarchy&) const [with T = double; ptrdiff_t = long int]’: ./src/ducc0/sht/sht.cc:2990:18: required from ‘void ducc0::detail_sht::adjoint_synthesis_general(const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, ptrdiff_t, const ducc0::detail_mav::cmav&, double, double, double, size_t, SHT_mode, bool) [with T = double; Tloc = double; size_t = long unsigned int; ptrdiff_t = long int]’ 2990 | inter.updateAlm(alm, mstart, lstride, planes, mode, timers); | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sht.cc:3001:99: required from here 3001 | double epsilon, double sigma_min, double sigma_max, size_t nthreads, SHT_mode mode, bool verbose); | ^ ./src/ducc0/sht/sphere_interpol.h:582:19: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&, size_t)’ is ambiguous 582 | planes(iplane,i,j+nphi_b) += planes(iplane,i,j); | ~~~~~~^~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:582:48: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&, size_t&)’ is ambiguous 582 | planes(iplane,i,j+nphi_b) += planes(iplane,i,j); | ~~~~~~^~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:583:19: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&, size_t)’ is ambiguous 583 | planes(iplane,i,j+nbphi) += planes(iplane,i,j+nphi_b+nbphi); | ~~~~~~^~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:583:47: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&, size_t)’ is ambiguous 583 | planes(iplane,i,j+nbphi) += planes(iplane,i,j+nphi_b+nbphi); | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:591:19: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, long unsigned int, size_t)’ is ambiguous 591 | planes(iplane,nbtheta+1+i,j+nbphi) += fct*planes(iplane,nbtheta-1-i,j2+nbphi); | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:591:61: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, long unsigned int, size_t)’ is ambiguous 591 | planes(iplane,nbtheta+1+i,j+nbphi) += fct*planes(iplane,nbtheta-1-i,j2+nbphi); | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:592:19: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, long unsigned int, size_t)’ is ambiguous 592 | planes(iplane,nbtheta+ntheta_b-2-i, j+nbphi) += fct*planes(iplane,nbtheta+ntheta_b+i,j2+nbphi); | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:592:71: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, long unsigned int, size_t)’ is ambiguous 592 | planes(iplane,nbtheta+ntheta_b-2-i, j+nbphi) += fct*planes(iplane,nbtheta+ntheta_b+i,j2+nbphi); | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:603:16: error: call of ‘(ducc0::detail_mav::vmav) (size_t&)’ is ambiguous 603 | phikrn2(j) = T(phikrn[(j+1)/2]); | ~~~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:613:37: error: call of ‘(ducc0::detail_mav::vmav) (size_t&, int)’ is ambiguous 613 | rplan.exec_copyback(&arr(i,0), buf.data(), T(1), true); | ~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:615:18: error: call of ‘(ducc0::detail_mav::vmav) (size_t&, size_t&)’ is ambiguous 615 | arr(i,j) *= phikrn2(j); | ~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:615:34: error: call of ‘(ducc0::detail_mav::vmav) (size_t&)’ is ambiguous 615 | arr(i,j) *= phikrn2(j); | ~~~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:617:19: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, long unsigned int, long unsigned int)’ is ambiguous 617 | planes(iplane, nbtheta+i, nbphi-1) = planes(iplane, nbtheta+i, nbphi); | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:617:56: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, long unsigned int, const size_t&)’ is ambiguous 617 | planes(iplane, nbtheta+i, nbphi-1) = planes(iplane, nbtheta+i, nbphi); | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:618:19: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, long unsigned int, const size_t&)’ is ambiguous 618 | planes(iplane, nbtheta+i, nbphi) = T(0); | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:629:70: error: call of ‘(const ducc0::detail_mav::vmav) (int, const size_t&, long unsigned int)’ is ambiguous 629 | vmav,3> leg_s(reinterpret_cast *>(&planes(0,nbtheta,nbphi-1)), | ~~~~~~^~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:631:70: error: call of ‘(const ducc0::detail_mav::vmav) (int, const size_t&, long unsigned int)’ is ambiguous 631 | vmav,3> leg_b(reinterpret_cast *>(&planes(0,nbtheta,nbphi-1)), | ~~~~~~^~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc: In instantiation of ‘void ducc0::detail_sht::leg2alm(const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav, 3>&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, ptrdiff_t, const ducc0::detail_mav::cmav&, size_t, SHT_mode, bool) [with T = float; size_t = long unsigned int; ptrdiff_t = long int]’: ./python/sht_pymod.cc:355:10: required from ‘pybind11::array ducc0::detail_pymodule_sht::Py2_leg2alm(const pybind11::array&, const pybind11::array&, size_t, size_t, const pybind11::object&, const pybind11::object&, ptrdiff_t, size_t, pybind11::object&, const std::string&, bool) [with T = float; size_t = long unsigned int; ptrdiff_t = long int; std::string = std::__cxx11::basic_string]’ 355 | leg2alm(alm, leg, spin, lmax, mval, mstart, lstride, theta, nthreads, mode, theta_interpol); | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/sht_pymod.cc:364:30: required from here 364 | return Py2_leg2alm(leg, theta, spin, lmax, mval, mstart, lstride, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 365 | nthreads, alm, mode, theta_interpol); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sht.cc:2030:14: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, long unsigned int)’ is ambiguous 2030 | alm(ialm,mstart(mi)+l*lstride) = 0; | ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:2033:14: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, long unsigned int)’ is ambiguous 2033 | alm(ialm,mstart(mi)+l*lstride) = complex(almtmp(l,ialm)*norm_l[l]); | ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc: In instantiation of ‘void ducc0::detail_sht::leg2alm(const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav, 3>&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, ptrdiff_t, const ducc0::detail_mav::cmav&, size_t, SHT_mode, bool) [with T = double; size_t = long unsigned int; ptrdiff_t = long int]’: ./python/sht_pymod.cc:355:10: required from ‘pybind11::array ducc0::detail_pymodule_sht::Py2_leg2alm(const pybind11::array&, const pybind11::array&, size_t, size_t, const pybind11::object&, const pybind11::object&, ptrdiff_t, size_t, pybind11::object&, const std::string&, bool) [with T = double; size_t = long unsigned int; ptrdiff_t = long int; std::string = std::__cxx11::basic_string]’ 355 | leg2alm(alm, leg, spin, lmax, mval, mstart, lstride, theta, nthreads, mode, theta_interpol); | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/sht_pymod.cc:367:31: required from here 367 | return Py2_leg2alm(leg, theta, spin, lmax, mval, mstart, lstride, | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 368 | nthreads, alm, mode, theta_interpol); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sht.cc:2030:14: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, long unsigned int)’ is ambiguous 2030 | alm(ialm,mstart(mi)+l*lstride) = 0; | ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:2033:14: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, long unsigned int)’ is ambiguous 2033 | alm(ialm,mstart(mi)+l*lstride) = complex(almtmp(l,ialm)*norm_l[l]); | ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc: In instantiation of ‘void ducc0::detail_sht::leg2map(const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, ptrdiff_t, size_t) [with T = float; ptrdiff_t = long int; size_t = long unsigned int]’: ./python/sht_pymod.cc:417:10: required from ‘pybind11::array ducc0::detail_pymodule_sht::Py2_leg2map(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::array&, ptrdiff_t, size_t, pybind11::object&) [with T = float; ptrdiff_t = long int; size_t = long unsigned int]’ 417 | leg2map(map, leg, nphi, phi0, ringstart, pixstride, nthreads); | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/sht_pymod.cc:426:30: required from here 426 | return Py2_leg2map(leg, nphi, phi0, ringstart, pixstride, nthreads, map); | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sht.cc:2107:16: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, long unsigned int)’ is ambiguous 2107 | map(icomp,ringstart(ith)+i*pixstride) = T(ringtmp(i+1)); | ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc: In instantiation of ‘void ducc0::detail_sht::leg2map(const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, ptrdiff_t, size_t) [with T = double; ptrdiff_t = long int; size_t = long unsigned int]’: ./python/sht_pymod.cc:417:10: required from ‘pybind11::array ducc0::detail_pymodule_sht::Py2_leg2map(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::array&, ptrdiff_t, size_t, pybind11::object&) [with T = double; ptrdiff_t = long int; size_t = long unsigned int]’ 417 | leg2map(map, leg, nphi, phi0, ringstart, pixstride, nthreads); | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/sht_pymod.cc:428:31: required from here 428 | return Py2_leg2map(leg, nphi, phi0, ringstart, pixstride, nthreads, map); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sht.cc:2107:16: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, long unsigned int)’ is ambiguous 2107 | map(icomp,ringstart(ith)+i*pixstride) = T(ringtmp(i+1)); | ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ In file included from ./python/fft_pymod.cc:46, from python/ducc.cc:17: ./src/ducc0/fft/fftnd_impl.h: In instantiation of ‘void ducc0::detail_fft::c2c(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vfmav >&, const shape_t&, bool, T, size_t) [with T = double; shape_t = std::vector; size_t = long unsigned int]’: ./python/fft_pymod.cc:133:13: required from ‘pybind11::array ducc0::detail_pymodule_fft::{anonymous}::c2c_internal(const pybind11::array&, const pybind11::object&, bool, int, pybind11::object&, std::size_t) [with T = double; std::size_t = long unsigned int]’ 133 | ducc0::c2c(ain, aout, axes, forward, fct, nthreads); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/fft_pymod.cc:168:5: required from here 168 | DISPATCH(a, c128, c64, clong, c2c_internal, (a, axes_, forward, | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~ 169 | inorm, out_, nthreads)) | ~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/fft/fftnd_impl.h:1393:20: error: call of ‘(ducc0::detail_mav::vmav, 2>) (long unsigned int&, size_t&)’ is ambiguous 1393 | tmp(i,j) *= conj(roots[i*j]); | ~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/fft/fftnd_impl.h:1400:20: error: call of ‘(ducc0::detail_mav::vmav, 2>) (long unsigned int&, size_t&)’ is ambiguous 1400 | tmp(i,j) *= roots[i*j]; | ~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/fft/fftnd_impl.h: In instantiation of ‘void ducc0::detail_fft::c2c(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vfmav >&, const shape_t&, bool, T, size_t) [with T = float; shape_t = std::vector; size_t = long unsigned int]’: ./python/fft_pymod.cc:133:13: required from ‘pybind11::array ducc0::detail_pymodule_fft::{anonymous}::c2c_internal(const pybind11::array&, const pybind11::object&, bool, int, pybind11::object&, std::size_t) [with T = float; std::size_t = long unsigned int]’ 133 | ducc0::c2c(ain, aout, axes, forward, fct, nthreads); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/fft_pymod.cc:168:5: required from here 168 | DISPATCH(a, c128, c64, clong, c2c_internal, (a, axes_, forward, | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~ 169 | inorm, out_, nthreads)) | ~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/fft/fftnd_impl.h:1393:20: error: call of ‘(ducc0::detail_mav::vmav, 2>) (long unsigned int&, size_t&)’ is ambiguous 1393 | tmp(i,j) *= conj(roots[i*j]); | ~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/fft/fftnd_impl.h:1400:20: error: call of ‘(ducc0::detail_mav::vmav, 2>) (long unsigned int&, size_t&)’ is ambiguous 1400 | tmp(i,j) *= roots[i*j]; | ~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/fft/fftnd_impl.h: In instantiation of ‘void ducc0::detail_fft::c2c(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vfmav >&, const shape_t&, bool, T, size_t) [with T = long double; shape_t = std::vector; size_t = long unsigned int]’: ./python/fft_pymod.cc:133:13: required from ‘pybind11::array ducc0::detail_pymodule_fft::{anonymous}::c2c_internal(const pybind11::array&, const pybind11::object&, bool, int, pybind11::object&, std::size_t) [with T = long double; std::size_t = long unsigned int]’ 133 | ducc0::c2c(ain, aout, axes, forward, fct, nthreads); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/fft_pymod.cc:168:5: required from here 168 | DISPATCH(a, c128, c64, clong, c2c_internal, (a, axes_, forward, | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~ 169 | inorm, out_, nthreads)) | ~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/fft/fftnd_impl.h:1393:20: error: call of ‘(ducc0::detail_mav::vmav, 2>) (long unsigned int&, size_t&)’ is ambiguous 1393 | tmp(i,j) *= conj(roots[i*j]); | ~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/fft/fftnd_impl.h:1400:20: error: call of ‘(ducc0::detail_mav::vmav, 2>) (long unsigned int&, size_t&)’ is ambiguous 1400 | tmp(i,j) *= roots[i*j]; | ~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/fft/fftnd_impl.h: In instantiation of ‘void ducc0::detail_fft::hermiteHelper(size_t, ptrdiff_t, ptrdiff_t, ptrdiff_t, const ducc0::detail_mav::cfmav&, const ducc0::detail_mav::vfmav&, const shape_t&, Func, size_t) [with T0 = std::complex; T1 = std::complex; Func = ducc0::detail_pymodule_fft::{anonymous}::c2c_sym_internal(const pybind11::array&, const pybind11::object&, bool, int, pybind11::object&, std::size_t)::&, std::complex&, std::complex&)>; size_t = long unsigned int; ptrdiff_t = long int; shape_t = std::vector]’: ./python/fft_pymod.cc:156:16: required from ‘pybind11::array ducc0::detail_pymodule_fft::{anonymous}::c2c_sym_internal(const pybind11::array&, const pybind11::object&, bool, int, pybind11::object&, std::size_t) [with T = double; std::size_t = long unsigned int]’ 156 | hermiteHelper(0, 0, 0, 0, aout, aout, axes, [](const std::complex &c, complex &, complex &c1) | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 157 | { | ~ 158 | c1 = conj(c); | ~~~~~~~~~~~~~ 159 | }, nthreads); | ~~~~~~~~~~~~ ./python/fft_pymod.cc:171:3: required from here 171 | DISPATCH(a, f64, f32, flong, c2c_sym_internal, (a, axes_, forward, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~ 172 | inorm, out_, nthreads)) | ~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/fft/fftnd_impl.h:1568:39: error: call of overloaded ‘raw(long unsigned int)’ is ambiguous 1568 | func (c.raw(iin+i*cstr), r.raw(iout0+i*str), r.raw(iout1+ic*str)); | ~~~~~^~~~~~~~~~~~~ ./src/ducc0/fft/fftnd_impl.h:1568:39: note: there are 2 candidates ./src/ducc0/infra/mav.h:119:35: note: candidate 1: ‘const T& ducc0::detail_mav::cmembuf::raw(I) const [with I = long unsigned int; T = std::complex]’ 119 | template const T &raw(I i) const | ^~~ ./src/ducc0/infra/mav.h:659:29: note: candidate 2: ‘T& ducc0::detail_mav::vfmav::raw(I) const [with I = long unsigned int; T = std::complex]’ 659 | template T &raw(I i) const | ^~~ ./src/ducc0/fft/fftnd_impl.h:1568:59: error: call of overloaded ‘raw(long unsigned int)’ is ambiguous 1568 | func (c.raw(iin+i*cstr), r.raw(iout0+i*str), r.raw(iout1+ic*str)); | ~~~~~^~~~~~~~~~~~~~ ./src/ducc0/fft/fftnd_impl.h:1568:59: note: there are 2 candidates ./src/ducc0/infra/mav.h:119:35: note: candidate 1: ‘const T& ducc0::detail_mav::cmembuf::raw(I) const [with I = long unsigned int; T = std::complex]’ 119 | template const T &raw(I i) const | ^~~ ./src/ducc0/infra/mav.h:659:29: note: candidate 2: ‘T& ducc0::detail_mav::vfmav::raw(I) const [with I = long unsigned int; T = std::complex]’ 659 | template T &raw(I i) const | ^~~ ./src/ducc0/fft/fftnd_impl.h:1571:39: error: call of overloaded ‘raw(long unsigned int)’ is ambiguous 1571 | func (c.raw(iin+i*cstr), r.raw(iout0+i*str), r.raw(iout1+ic*str)); | ~~~~~^~~~~~~~~~~~~ ./src/ducc0/fft/fftnd_impl.h:1571:39: note: there are 2 candidates ./src/ducc0/infra/mav.h:119:35: note: candidate 1: ‘const T& ducc0::detail_mav::cmembuf::raw(I) const [with I = long unsigned int; T = std::complex]’ 119 | template const T &raw(I i) const | ^~~ ./src/ducc0/infra/mav.h:659:29: note: candidate 2: ‘T& ducc0::detail_mav::vfmav::raw(I) const [with I = long unsigned int; T = std::complex]’ 659 | template T &raw(I i) const | ^~~ ./src/ducc0/fft/fftnd_impl.h:1571:59: error: call of overloaded ‘raw(long unsigned int)’ is ambiguous 1571 | func (c.raw(iin+i*cstr), r.raw(iout0+i*str), r.raw(iout1+ic*str)); | ~~~~~^~~~~~~~~~~~~~ ./src/ducc0/fft/fftnd_impl.h:1571:59: note: there are 2 candidates ./src/ducc0/infra/mav.h:119:35: note: candidate 1: ‘const T& ducc0::detail_mav::cmembuf::raw(I) const [with I = long unsigned int; T = std::complex]’ 119 | template const T &raw(I i) const | ^~~ ./src/ducc0/infra/mav.h:659:29: note: candidate 2: ‘T& ducc0::detail_mav::vfmav::raw(I) const [with I = long unsigned int; T = std::complex]’ 659 | template T &raw(I i) const | ^~~ ./src/ducc0/fft/fftnd_impl.h:1574:39: error: call of overloaded ‘raw(long unsigned int)’ is ambiguous 1574 | func (c.raw(iin+i*cstr), r.raw(iout0+i*str), r.raw(iout1+i*str)); | ~~~~~^~~~~~~~~~~~~ ./src/ducc0/fft/fftnd_impl.h:1574:39: note: there are 2 candidates ./src/ducc0/infra/mav.h:119:35: note: candidate 1: ‘const T& ducc0::detail_mav::cmembuf::raw(I) const [with I = long unsigned int; T = std::complex]’ 119 | template const T &raw(I i) const | ^~~ ./src/ducc0/infra/mav.h:659:29: note: candidate 2: ‘T& ducc0::detail_mav::vfmav::raw(I) const [with I = long unsigned int; T = std::complex]’ 659 | template T &raw(I i) const | ^~~ ./src/ducc0/fft/fftnd_impl.h:1574:59: error: call of overloaded ‘raw(long unsigned int)’ is ambiguous 1574 | func (c.raw(iin+i*cstr), r.raw(iout0+i*str), r.raw(iout1+i*str)); | ~~~~~^~~~~~~~~~~~~ ./src/ducc0/fft/fftnd_impl.h:1574:59: note: there are 2 candidates ./src/ducc0/infra/mav.h:119:35: note: candidate 1: ‘const T& ducc0::detail_mav::cmembuf::raw(I) const [with I = long unsigned int; T = std::complex]’ 119 | template const T &raw(I i) const | ^~~ ./src/ducc0/infra/mav.h:659:29: note: candidate 2: ‘T& ducc0::detail_mav::vfmav::raw(I) const [with I = long unsigned int; T = std::complex]’ 659 | template T &raw(I i) const | ^~~ ./src/ducc0/fft/fftnd_impl.h: In instantiation of ‘void ducc0::detail_fft::hermiteHelper(size_t, ptrdiff_t, ptrdiff_t, ptrdiff_t, const ducc0::detail_mav::cfmav&, const ducc0::detail_mav::vfmav&, const shape_t&, Func, size_t) [with T0 = std::complex; T1 = std::complex; Func = ducc0::detail_pymodule_fft::{anonymous}::c2c_sym_internal(const pybind11::array&, const pybind11::object&, bool, int, pybind11::object&, std::size_t)::&, std::complex&, std::complex&)>; size_t = long unsigned int; ptrdiff_t = long int; shape_t = std::vector]’: ./python/fft_pymod.cc:156:16: required from ‘pybind11::array ducc0::detail_pymodule_fft::{anonymous}::c2c_sym_internal(const pybind11::array&, const pybind11::object&, bool, int, pybind11::object&, std::size_t) [with T = float; std::size_t = long unsigned int]’ 156 | hermiteHelper(0, 0, 0, 0, aout, aout, axes, [](const std::complex &c, complex &, complex &c1) | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 157 | { | ~ 158 | c1 = conj(c); | ~~~~~~~~~~~~~ 159 | }, nthreads); | ~~~~~~~~~~~~ ./python/fft_pymod.cc:171:3: required from here 171 | DISPATCH(a, f64, f32, flong, c2c_sym_internal, (a, axes_, forward, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~ 172 | inorm, out_, nthreads)) | ~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/fft/fftnd_impl.h:1568:39: error: call of overloaded ‘raw(long unsigned int)’ is ambiguous 1568 | func (c.raw(iin+i*cstr), r.raw(iout0+i*str), r.raw(iout1+ic*str)); | ~~~~~^~~~~~~~~~~~~ ./src/ducc0/fft/fftnd_impl.h:1568:39: note: there are 2 candidates ./src/ducc0/infra/mav.h:119:35: note: candidate 1: ‘const T& ducc0::detail_mav::cmembuf::raw(I) const [with I = long unsigned int; T = std::complex]’ 119 | template const T &raw(I i) const | ^~~ ./src/ducc0/infra/mav.h:659:29: note: candidate 2: ‘T& ducc0::detail_mav::vfmav::raw(I) const [with I = long unsigned int; T = std::complex]’ 659 | template T &raw(I i) const | ^~~ ./src/ducc0/fft/fftnd_impl.h:1568:59: error: call of overloaded ‘raw(long unsigned int)’ is ambiguous 1568 | func (c.raw(iin+i*cstr), r.raw(iout0+i*str), r.raw(iout1+ic*str)); | ~~~~~^~~~~~~~~~~~~~ ./src/ducc0/fft/fftnd_impl.h:1568:59: note: there are 2 candidates ./src/ducc0/infra/mav.h:119:35: note: candidate 1: ‘const T& ducc0::detail_mav::cmembuf::raw(I) const [with I = long unsigned int; T = std::complex]’ 119 | template const T &raw(I i) const | ^~~ ./src/ducc0/infra/mav.h:659:29: note: candidate 2: ‘T& ducc0::detail_mav::vfmav::raw(I) const [with I = long unsigned int; T = std::complex]’ 659 | template T &raw(I i) const | ^~~ ./src/ducc0/fft/fftnd_impl.h:1571:39: error: call of overloaded ‘raw(long unsigned int)’ is ambiguous 1571 | func (c.raw(iin+i*cstr), r.raw(iout0+i*str), r.raw(iout1+ic*str)); | ~~~~~^~~~~~~~~~~~~ ./src/ducc0/fft/fftnd_impl.h:1571:39: note: there are 2 candidates ./src/ducc0/infra/mav.h:119:35: note: candidate 1: ‘const T& ducc0::detail_mav::cmembuf::raw(I) const [with I = long unsigned int; T = std::complex]’ 119 | template const T &raw(I i) const | ^~~ ./src/ducc0/infra/mav.h:659:29: note: candidate 2: ‘T& ducc0::detail_mav::vfmav::raw(I) const [with I = long unsigned int; T = std::complex]’ 659 | template T &raw(I i) const | ^~~ ./src/ducc0/fft/fftnd_impl.h:1571:59: error: call of overloaded ‘raw(long unsigned int)’ is ambiguous 1571 | func (c.raw(iin+i*cstr), r.raw(iout0+i*str), r.raw(iout1+ic*str)); | ~~~~~^~~~~~~~~~~~~~ ./src/ducc0/fft/fftnd_impl.h:1571:59: note: there are 2 candidates ./src/ducc0/infra/mav.h:119:35: note: candidate 1: ‘const T& ducc0::detail_mav::cmembuf::raw(I) const [with I = long unsigned int; T = std::complex]’ 119 | template const T &raw(I i) const | ^~~ ./src/ducc0/infra/mav.h:659:29: note: candidate 2: ‘T& ducc0::detail_mav::vfmav::raw(I) const [with I = long unsigned int; T = std::complex]’ 659 | template T &raw(I i) const | ^~~ ./src/ducc0/fft/fftnd_impl.h:1574:39: error: call of overloaded ‘raw(long unsigned int)’ is ambiguous 1574 | func (c.raw(iin+i*cstr), r.raw(iout0+i*str), r.raw(iout1+i*str)); | ~~~~~^~~~~~~~~~~~~ ./src/ducc0/fft/fftnd_impl.h:1574:39: note: there are 2 candidates ./src/ducc0/infra/mav.h:119:35: note: candidate 1: ‘const T& ducc0::detail_mav::cmembuf::raw(I) const [with I = long unsigned int; T = std::complex]’ 119 | template const T &raw(I i) const | ^~~ ./src/ducc0/infra/mav.h:659:29: note: candidate 2: ‘T& ducc0::detail_mav::vfmav::raw(I) const [with I = long unsigned int; T = std::complex]’ 659 | template T &raw(I i) const | ^~~ ./src/ducc0/fft/fftnd_impl.h:1574:59: error: call of overloaded ‘raw(long unsigned int)’ is ambiguous 1574 | func (c.raw(iin+i*cstr), r.raw(iout0+i*str), r.raw(iout1+i*str)); | ~~~~~^~~~~~~~~~~~~ ./src/ducc0/fft/fftnd_impl.h:1574:59: note: there are 2 candidates ./src/ducc0/infra/mav.h:119:35: note: candidate 1: ‘const T& ducc0::detail_mav::cmembuf::raw(I) const [with I = long unsigned int; T = std::complex]’ 119 | template const T &raw(I i) const | ^~~ ./src/ducc0/infra/mav.h:659:29: note: candidate 2: ‘T& ducc0::detail_mav::vfmav::raw(I) const [with I = long unsigned int; T = std::complex]’ 659 | template T &raw(I i) const | ^~~ ./src/ducc0/fft/fftnd_impl.h: In instantiation of ‘void ducc0::detail_fft::hermiteHelper(size_t, ptrdiff_t, ptrdiff_t, ptrdiff_t, const ducc0::detail_mav::cfmav&, const ducc0::detail_mav::vfmav&, const shape_t&, Func, size_t) [with T0 = std::complex; T1 = std::complex; Func = ducc0::detail_pymodule_fft::{anonymous}::c2c_sym_internal(const pybind11::array&, const pybind11::object&, bool, int, pybind11::object&, std::size_t)::&, std::complex&, std::complex&)>; size_t = long unsigned int; ptrdiff_t = long int; shape_t = std::vector]’: ./python/fft_pymod.cc:156:16: required from ‘pybind11::array ducc0::detail_pymodule_fft::{anonymous}::c2c_sym_internal(const pybind11::array&, const pybind11::object&, bool, int, pybind11::object&, std::size_t) [with T = long double; std::size_t = long unsigned int]’ 156 | hermiteHelper(0, 0, 0, 0, aout, aout, axes, [](const std::complex &c, complex &, complex &c1) | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 157 | { | ~ 158 | c1 = conj(c); | ~~~~~~~~~~~~~ 159 | }, nthreads); | ~~~~~~~~~~~~ ./python/fft_pymod.cc:171:3: required from here 171 | DISPATCH(a, f64, f32, flong, c2c_sym_internal, (a, axes_, forward, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~ 172 | inorm, out_, nthreads)) | ~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/fft/fftnd_impl.h:1568:39: error: call of overloaded ‘raw(long unsigned int)’ is ambiguous 1568 | func (c.raw(iin+i*cstr), r.raw(iout0+i*str), r.raw(iout1+ic*str)); | ~~~~~^~~~~~~~~~~~~ ./src/ducc0/fft/fftnd_impl.h:1568:39: note: there are 2 candidates ./src/ducc0/infra/mav.h:119:35: note: candidate 1: ‘const T& ducc0::detail_mav::cmembuf::raw(I) const [with I = long unsigned int; T = std::complex]’ 119 | template const T &raw(I i) const | ^~~ ./src/ducc0/infra/mav.h:659:29: note: candidate 2: ‘T& ducc0::detail_mav::vfmav::raw(I) const [with I = long unsigned int; T = std::complex]’ 659 | template T &raw(I i) const | ^~~ ./src/ducc0/fft/fftnd_impl.h:1568:59: error: call of overloaded ‘raw(long unsigned int)’ is ambiguous 1568 | func (c.raw(iin+i*cstr), r.raw(iout0+i*str), r.raw(iout1+ic*str)); | ~~~~~^~~~~~~~~~~~~~ ./src/ducc0/fft/fftnd_impl.h:1568:59: note: there are 2 candidates ./src/ducc0/infra/mav.h:119:35: note: candidate 1: ‘const T& ducc0::detail_mav::cmembuf::raw(I) const [with I = long unsigned int; T = std::complex]’ 119 | template const T &raw(I i) const | ^~~ ./src/ducc0/infra/mav.h:659:29: note: candidate 2: ‘T& ducc0::detail_mav::vfmav::raw(I) const [with I = long unsigned int; T = std::complex]’ 659 | template T &raw(I i) const | ^~~ ./src/ducc0/fft/fftnd_impl.h:1571:39: error: call of overloaded ‘raw(long unsigned int)’ is ambiguous 1571 | func (c.raw(iin+i*cstr), r.raw(iout0+i*str), r.raw(iout1+ic*str)); | ~~~~~^~~~~~~~~~~~~ ./src/ducc0/fft/fftnd_impl.h:1571:39: note: there are 2 candidates ./src/ducc0/infra/mav.h:119:35: note: candidate 1: ‘const T& ducc0::detail_mav::cmembuf::raw(I) const [with I = long unsigned int; T = std::complex]’ 119 | template const T &raw(I i) const | ^~~ ./src/ducc0/infra/mav.h:659:29: note: candidate 2: ‘T& ducc0::detail_mav::vfmav::raw(I) const [with I = long unsigned int; T = std::complex]’ 659 | template T &raw(I i) const | ^~~ ./src/ducc0/fft/fftnd_impl.h:1571:59: error: call of overloaded ‘raw(long unsigned int)’ is ambiguous 1571 | func (c.raw(iin+i*cstr), r.raw(iout0+i*str), r.raw(iout1+ic*str)); | ~~~~~^~~~~~~~~~~~~~ ./src/ducc0/fft/fftnd_impl.h:1571:59: note: there are 2 candidates ./src/ducc0/infra/mav.h:119:35: note: candidate 1: ‘const T& ducc0::detail_mav::cmembuf::raw(I) const [with I = long unsigned int; T = std::complex]’ 119 | template const T &raw(I i) const | ^~~ ./src/ducc0/infra/mav.h:659:29: note: candidate 2: ‘T& ducc0::detail_mav::vfmav::raw(I) const [with I = long unsigned int; T = std::complex]’ 659 | template T &raw(I i) const | ^~~ ./src/ducc0/fft/fftnd_impl.h:1574:39: error: call of overloaded ‘raw(long unsigned int)’ is ambiguous 1574 | func (c.raw(iin+i*cstr), r.raw(iout0+i*str), r.raw(iout1+i*str)); | ~~~~~^~~~~~~~~~~~~ ./src/ducc0/fft/fftnd_impl.h:1574:39: note: there are 2 candidates ./src/ducc0/infra/mav.h:119:35: note: candidate 1: ‘const T& ducc0::detail_mav::cmembuf::raw(I) const [with I = long unsigned int; T = std::complex]’ 119 | template const T &raw(I i) const | ^~~ ./src/ducc0/infra/mav.h:659:29: note: candidate 2: ‘T& ducc0::detail_mav::vfmav::raw(I) const [with I = long unsigned int; T = std::complex]’ 659 | template T &raw(I i) const | ^~~ ./src/ducc0/fft/fftnd_impl.h:1574:59: error: call of overloaded ‘raw(long unsigned int)’ is ambiguous 1574 | func (c.raw(iin+i*cstr), r.raw(iout0+i*str), r.raw(iout1+i*str)); | ~~~~~^~~~~~~~~~~~~ ./src/ducc0/fft/fftnd_impl.h:1574:59: note: there are 2 candidates ./src/ducc0/infra/mav.h:119:35: note: candidate 1: ‘const T& ducc0::detail_mav::cmembuf::raw(I) const [with I = long unsigned int; T = std::complex]’ 119 | template const T &raw(I i) const | ^~~ ./src/ducc0/infra/mav.h:659:29: note: candidate 2: ‘T& ducc0::detail_mav::vfmav::raw(I) const [with I = long unsigned int; T = std::complex]’ 659 | template T &raw(I i) const | ^~~ ./src/ducc0/sht/totalconvolve.h: In instantiation of ‘void ducc0::detail_totalconvolve::ConvolverPlan::prepPsi(const ducc0::detail_mav::vmav&) const [with T = double]’: ./python/totalconvolve_pymod.cc:76:14: required from ‘void ducc0::detail_pymodule_totalconvolve::Py_ConvolverPlan::Py_prepPsi(const pybind11::array&) const [with T = double]’ 76 | prepPsi(subcube); | ~~~~~~~^~~~~~~~~ ./python/totalconvolve_pymod.cc:797:30: required from here 797 | .def("prepPsi", &conv_d::Py_prepPsi, Py_ConvolverPlan_prepPsi_DS, "subcube"_a) | ^~~~~~~~~~ ./src/ducc0/sht/totalconvolve.h:680:20: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&, size_t&)’ is ambiguous 680 | subcube(k,i,j) *= factor; | ~~~~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h: In instantiation of ‘void ducc0::detail_totalconvolve::ConvolverPlan::deprepPsi(const ducc0::detail_mav::vmav&) const [with T = double]’: ./python/totalconvolve_pymod.cc:84:16: required from ‘void ducc0::detail_pymodule_totalconvolve::Py_ConvolverPlan::Py_deprepPsi(const pybind11::array&) const [with T = double]’ 84 | deprepPsi(subcube); | ~~~~~~~~~^~~~~~~~~ ./python/totalconvolve_pymod.cc:798:32: required from here 798 | .def("deprepPsi", &conv_d::Py_deprepPsi, Py_ConvolverPlan_prepPsi_DS, "subcube"_a) | ^~~~~~~~~~~~ ./src/ducc0/sht/totalconvolve.h:697:20: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&, size_t&)’ is ambiguous 697 | subcube(k,i,j) *= factor; | ~~~~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h: In instantiation of ‘void ducc0::detail_totalconvolve::ConvolverPlan::prepPsi(const ducc0::detail_mav::vmav&) const [with T = float]’: ./python/totalconvolve_pymod.cc:76:14: required from ‘void ducc0::detail_pymodule_totalconvolve::Py_ConvolverPlan::Py_prepPsi(const pybind11::array&) const [with T = float]’ 76 | prepPsi(subcube); | ~~~~~~~^~~~~~~~~ ./python/totalconvolve_pymod.cc:819:30: required from here 819 | .def("prepPsi", &conv_f::Py_prepPsi, Py_ConvolverPlan_f_prepPsi_DS, "subcube"_a) | ^~~~~~~~~~ ./src/ducc0/sht/totalconvolve.h:680:20: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&, size_t&)’ is ambiguous 680 | subcube(k,i,j) *= factor; | ~~~~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h: In instantiation of ‘void ducc0::detail_totalconvolve::ConvolverPlan::deprepPsi(const ducc0::detail_mav::vmav&) const [with T = float]’: ./python/totalconvolve_pymod.cc:84:16: required from ‘void ducc0::detail_pymodule_totalconvolve::Py_ConvolverPlan::Py_deprepPsi(const pybind11::array&) const [with T = float]’ 84 | deprepPsi(subcube); | ~~~~~~~~~^~~~~~~~~ ./python/totalconvolve_pymod.cc:820:32: required from here 820 | .def("deprepPsi", &conv_f::Py_deprepPsi, Py_ConvolverPlan_f_deprepPsi_DS, "subcube"_a) | ^~~~~~~~~~~~ ./src/ducc0/sht/totalconvolve.h:697:20: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&, size_t&)’ is ambiguous 697 | subcube(k,i,j) *= factor; | ~~~~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h: In instantiation of ‘void ducc0::detail_totalconvolve::ConvolverPlan::updateSlm(const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav, 2>&, size_t, const ducc0::detail_mav::vmav&) const [with T = double; size_t = long unsigned int]’: ./python/totalconvolve_pymod.cc:232:25: required from ‘pybind11::array ducc0::detail_pymodule_totalconvolve::Py_Interpolator::Py_getSlm(const pybind11::array&) [with T = double]’ 232 | conv.updateSlm(vslmi, vblmi, 0, subarray<3>(cube, {{i},{0,1},{},{}})); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/totalconvolve_pymod.cc:842:31: required from here 842 | .def ("getSlm", &inter_d::Py_getSlm, getSlm_DS, "beam"_a); | ^~~~~~~~~ ./src/ducc0/sht/totalconvolve.h:577:19: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&, size_t)’ is ambiguous 577 | planes(iplane,i,j+nphi_b) += planes(iplane,i,j); | ~~~~~~^~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h:577:48: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&, size_t&)’ is ambiguous 577 | planes(iplane,i,j+nphi_b) += planes(iplane,i,j); | ~~~~~~^~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h:578:19: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&, size_t)’ is ambiguous 578 | planes(iplane,i,j+nbphi) += planes(iplane,i,j+nphi_b+nbphi); | ~~~~~~^~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h:578:47: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&, size_t)’ is ambiguous 578 | planes(iplane,i,j+nbphi) += planes(iplane,i,j+nphi_b+nbphi); | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h:586:19: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, long unsigned int, size_t)’ is ambiguous 586 | planes(iplane,nbtheta+1+i,j+nbphi) += fct*planes(iplane,nbtheta-1-i,j2+nbphi); | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h:586:61: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, long unsigned int, size_t)’ is ambiguous 586 | planes(iplane,nbtheta+1+i,j+nbphi) += fct*planes(iplane,nbtheta-1-i,j2+nbphi); | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h:587:19: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, long unsigned int, size_t)’ is ambiguous 587 | planes(iplane,nbtheta+ntheta_b-2-i, j+nbphi) += fct*planes(iplane,nbtheta+ntheta_b+i,j2+nbphi); | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h:587:71: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, long unsigned int, size_t)’ is ambiguous 587 | planes(iplane,nbtheta+ntheta_b-2-i, j+nbphi) += fct*planes(iplane,nbtheta+ntheta_b+i,j2+nbphi); | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h:596:16: error: call of ‘(ducc0::detail_mav::vmav) (size_t&)’ is ambiguous 596 | phikrn2(j) = T(phikrn[(j+1)/2]); | ~~~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h:606:37: error: call of ‘(ducc0::detail_mav::vmav) (size_t&, int)’ is ambiguous 606 | rplan.exec_copyback(&arr(i,0), buf.data(), T(1), true); | ~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h:608:18: error: call of ‘(ducc0::detail_mav::vmav) (size_t&, size_t&)’ is ambiguous 608 | arr(i,j) *= phikrn2(j); | ~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h:608:34: error: call of ‘(ducc0::detail_mav::vmav) (size_t&)’ is ambiguous 608 | arr(i,j) *= phikrn2(j); | ~~~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h:610:19: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, long unsigned int, long unsigned int)’ is ambiguous 610 | planes(iplane, nbtheta+i, nbphi-1) = planes(iplane, nbtheta+i, nbphi); | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h:610:56: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, long unsigned int, const size_t&)’ is ambiguous 610 | planes(iplane, nbtheta+i, nbphi-1) = planes(iplane, nbtheta+i, nbphi); | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h:611:19: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, long unsigned int, const size_t&)’ is ambiguous 611 | planes(iplane, nbtheta+i, nbphi) = T(0); | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h:621:70: error: call of ‘(const ducc0::detail_mav::vmav) (int, const size_t&, long unsigned int)’ is ambiguous 621 | vmav,3> leg_s(reinterpret_cast *>(&planes(0,nbtheta,nbphi-1)), | ~~~~~~^~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h:623:70: error: call of ‘(const ducc0::detail_mav::vmav) (int, const size_t&, long unsigned int)’ is ambiguous 623 | vmav,3> leg_b(reinterpret_cast *>(&planes(0,nbtheta,nbphi-1)), | ~~~~~~^~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h:655:19: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t)’ is ambiguous 655 | vslm(i,islm.index(l,m)) += aarr(0,base.index(l,m))*tmp.real(); | ~~~~^~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h:655:46: error: call of ‘(ducc0::detail_mav::vmav, 2>) (int, size_t)’ is ambiguous 655 | vslm(i,islm.index(l,m)) += aarr(0,base.index(l,m))*tmp.real(); | ~~~~^~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h:657:21: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t)’ is ambiguous 657 | vslm(i,islm.index(l,m)) += aarr(1,base.index(l,m))*tmp.imag(); | ~~~~^~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h:657:48: error: call of ‘(ducc0::detail_mav::vmav, 2>) (int, size_t)’ is ambiguous 657 | vslm(i,islm.index(l,m)) += aarr(1,base.index(l,m))*tmp.imag(); | ~~~~^~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h: In instantiation of ‘void ducc0::detail_totalconvolve::ConvolverPlan::updateSlm(const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav, 2>&, size_t, const ducc0::detail_mav::vmav&) const [with T = float; size_t = long unsigned int]’: ./python/totalconvolve_pymod.cc:232:25: required from ‘pybind11::array ducc0::detail_pymodule_totalconvolve::Py_Interpolator::Py_getSlm(const pybind11::array&) [with T = float]’ 232 | conv.updateSlm(vslmi, vblmi, 0, subarray<3>(cube, {{i},{0,1},{},{}})); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/totalconvolve_pymod.cc:857:31: required from here 857 | .def ("getSlm", &inter_f::Py_getSlm, getSlm_DS, "beam"_a); | ^~~~~~~~~ ./src/ducc0/sht/totalconvolve.h:577:19: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&, size_t)’ is ambiguous 577 | planes(iplane,i,j+nphi_b) += planes(iplane,i,j); | ~~~~~~^~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h:577:48: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&, size_t&)’ is ambiguous 577 | planes(iplane,i,j+nphi_b) += planes(iplane,i,j); | ~~~~~~^~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h:578:19: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&, size_t)’ is ambiguous 578 | planes(iplane,i,j+nbphi) += planes(iplane,i,j+nphi_b+nbphi); | ~~~~~~^~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h:578:47: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&, size_t)’ is ambiguous 578 | planes(iplane,i,j+nbphi) += planes(iplane,i,j+nphi_b+nbphi); | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h:586:19: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, long unsigned int, size_t)’ is ambiguous 586 | planes(iplane,nbtheta+1+i,j+nbphi) += fct*planes(iplane,nbtheta-1-i,j2+nbphi); | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h:586:61: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, long unsigned int, size_t)’ is ambiguous 586 | planes(iplane,nbtheta+1+i,j+nbphi) += fct*planes(iplane,nbtheta-1-i,j2+nbphi); | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h:587:19: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, long unsigned int, size_t)’ is ambiguous 587 | planes(iplane,nbtheta+ntheta_b-2-i, j+nbphi) += fct*planes(iplane,nbtheta+ntheta_b+i,j2+nbphi); | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h:587:71: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, long unsigned int, size_t)’ is ambiguous 587 | planes(iplane,nbtheta+ntheta_b-2-i, j+nbphi) += fct*planes(iplane,nbtheta+ntheta_b+i,j2+nbphi); | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h:596:16: error: call of ‘(ducc0::detail_mav::vmav) (size_t&)’ is ambiguous 596 | phikrn2(j) = T(phikrn[(j+1)/2]); | ~~~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = float; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = float; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h:606:37: error: call of ‘(ducc0::detail_mav::vmav) (size_t&, int)’ is ambiguous 606 | rplan.exec_copyback(&arr(i,0), buf.data(), T(1), true); | ~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h:608:18: error: call of ‘(ducc0::detail_mav::vmav) (size_t&, size_t&)’ is ambiguous 608 | arr(i,j) *= phikrn2(j); | ~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h:608:34: error: call of ‘(ducc0::detail_mav::vmav) (size_t&)’ is ambiguous 608 | arr(i,j) *= phikrn2(j); | ~~~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = float; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = float; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h:610:19: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, long unsigned int, long unsigned int)’ is ambiguous 610 | planes(iplane, nbtheta+i, nbphi-1) = planes(iplane, nbtheta+i, nbphi); | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h:610:56: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, long unsigned int, const size_t&)’ is ambiguous 610 | planes(iplane, nbtheta+i, nbphi-1) = planes(iplane, nbtheta+i, nbphi); | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h:611:19: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, long unsigned int, const size_t&)’ is ambiguous 611 | planes(iplane, nbtheta+i, nbphi) = T(0); | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h:621:70: error: call of ‘(const ducc0::detail_mav::vmav) (int, const size_t&, long unsigned int)’ is ambiguous 621 | vmav,3> leg_s(reinterpret_cast *>(&planes(0,nbtheta,nbphi-1)), | ~~~~~~^~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h:623:70: error: call of ‘(const ducc0::detail_mav::vmav) (int, const size_t&, long unsigned int)’ is ambiguous 623 | vmav,3> leg_b(reinterpret_cast *>(&planes(0,nbtheta,nbphi-1)), | ~~~~~~^~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h:655:19: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t)’ is ambiguous 655 | vslm(i,islm.index(l,m)) += aarr(0,base.index(l,m))*tmp.real(); | ~~~~^~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h:655:46: error: call of ‘(ducc0::detail_mav::vmav, 2>) (int, size_t)’ is ambiguous 655 | vslm(i,islm.index(l,m)) += aarr(0,base.index(l,m))*tmp.real(); | ~~~~^~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h:657:21: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t)’ is ambiguous 657 | vslm(i,islm.index(l,m)) += aarr(1,base.index(l,m))*tmp.imag(); | ~~~~^~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h:657:48: error: call of ‘(ducc0::detail_mav::vmav, 2>) (int, size_t)’ is ambiguous 657 | vslm(i,islm.index(l,m)) += aarr(1,base.index(l,m))*tmp.imag(); | ~~~~^~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::ms2dirty_tuning(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’: ./python/wgridder_pymod.cc:61:30: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty_tuning(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool) [with T = float; size_t = long unsigned int]’ 61 | ms2dirty_tuning(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 62 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 63 | sigma_max, center_x, center_y) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:80:39: required from here 80 | return Py2_vis2dirty_tuning(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 81 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 82 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 83 | double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1802:14: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&)’ is ambiguous 1802 | dirty(i,j) = tdirty(i,j); | ~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1802:28: error: call of ‘(ducc0::detail_mav::vmav) (size_t&, size_t&)’ is ambiguous 1802 | dirty(i,j) = tdirty(i,j); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::ms2dirty_tuning(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double) [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’: ./python/wgridder_pymod.cc:64:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty_tuning(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool) [with T = float; size_t = long unsigned int]’ 64 | ms2dirty_tuning(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 65 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 66 | sigma_max, center_x, center_y); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:80:39: required from here 80 | return Py2_vis2dirty_tuning(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 81 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 82 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 83 | double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1802:14: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&)’ is ambiguous 1802 | dirty(i,j) = tdirty(i,j); | ~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1802:28: error: call of ‘(ducc0::detail_mav::vmav) (size_t&, size_t&)’ is ambiguous 1802 | dirty(i,j) = tdirty(i,j); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::ms2dirty_tuning(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double) [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’: ./python/wgridder_pymod.cc:61:30: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty_tuning(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool) [with T = double; size_t = long unsigned int]’ 61 | ms2dirty_tuning(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 62 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 63 | sigma_max, center_x, center_y) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:85:40: required from here 85 | return Py2_vis2dirty_tuning(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 86 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 87 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 88 | double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1802:14: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&)’ is ambiguous 1802 | dirty(i,j) = tdirty(i,j); | ~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1802:28: error: call of ‘(ducc0::detail_mav::vmav) (size_t&, size_t&)’ is ambiguous 1802 | dirty(i,j) = tdirty(i,j); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::dirty2ms_tuning(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav, 2>&, size_t, bool, bool, bool, bool, double, double, double, double) [with Tcalc = float; Tacc = float; Tms = float; Timg = float; size_t = long unsigned int]’: ./python/wgridder_pymod.cc:299:23: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_dirty2vis_tuning(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double) [with T = float; size_t = long unsigned int]’ 299 | dirty2ms_tuning(uvw,freq,dirty,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 300 | do_wgridding,nthreads,vis2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 301 | sigma_max, center_x, center_y); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:313:39: required from here 313 | return Py2_dirty2vis_tuning(uvw, freq, dirty, wgt, mask, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 314 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 315 | flip_u, flip_v, flip_w, divide_by_n, vis, sigma_min, sigma_max, center_x, center_y); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1853:15: error: call of ‘(ducc0::detail_mav::vmav) (size_t&, size_t&)’ is ambiguous 1853 | tdirty(i,j) = ((i class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::dirty2ms_tuning(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav, 2>&, size_t, bool, bool, bool, bool, double, double, double, double) [with Tcalc = double; Tacc = double; Tms = double; Timg = double; size_t = long unsigned int]’: ./python/wgridder_pymod.cc:299:23: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_dirty2vis_tuning(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double) [with T = double; size_t = long unsigned int]’ 299 | dirty2ms_tuning(uvw,freq,dirty,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 300 | do_wgridding,nthreads,vis2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 301 | sigma_max, center_x, center_y); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:317:40: required from here 317 | return Py2_dirty2vis_tuning(uvw, freq, dirty, wgt, mask, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 318 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 319 | flip_u, flip_v, flip_w, divide_by_n, vis, sigma_min, sigma_max, center_x, center_y); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1853:15: error: call of ‘(ducc0::detail_mav::vmav) (size_t&, size_t&)’ is ambiguous 1853 | tdirty(i,j) = ((i class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h: In instantiation of ‘void ducc0::coupling_matrix_spin0and2_pure(const detail_mav::cmav&, size_t, const detail_mav::vmav&, size_t) [with Tout = float; size_t = long unsigned int]’: ./python/misc_pymod.cc:1098:39: required from ‘pybind11::array ducc0::detail_pymodule_misc::Py2_coupling_matrix_spin0and2_pure(const pybind11::array&, size_t, size_t, pybind11::object&) [with Tout = float; size_t = long unsigned int]’ 1098 | coupling_matrix_spin0and2_pure(spec, lmax, mat, nthreads); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/misc_pymod.cc:1110:46: required from here 1110 | Py2_coupling_matrix_spin0and2_pure(spec_, lmax, nthreads, mat__) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/math/mcm.h:530:20: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, int, size_t, int&)’ is ambiguous 530 | mat(ispec, 0, xel2+k, el1) = Tout((2*el1+1.)*val[ispec][0][k]); | ~~~^~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, int, long unsigned int, int}; T = float; long unsigned int ndim = 4]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, int, long unsigned int, int}; T = float; long unsigned int ndim = 4]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h:531:20: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, int, size_t, int&)’ is ambiguous 531 | mat(ispec, 1, xel2+k, el1) = Tout((2*el1+1.)*val[ispec][1][k]); | ~~~^~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, int, long unsigned int, int}; T = float; long unsigned int ndim = 4]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, int, long unsigned int, int}; T = float; long unsigned int ndim = 4]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h:532:20: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, int, size_t, int&)’ is ambiguous 532 | mat(ispec, 2, xel2+k, el1) = Tout((2*el1+1.)*val[ispec][2][k]); | ~~~^~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, int, long unsigned int, int}; T = float; long unsigned int ndim = 4]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, int, long unsigned int, int}; T = float; long unsigned int ndim = 4]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h:533:20: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, int, size_t, int&)’ is ambiguous 533 | mat(ispec, 3, xel2+k, el1) = Tout((2*el1+1.)*val[ispec][3][k]); | ~~~^~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, int, long unsigned int, int}; T = float; long unsigned int ndim = 4]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, int, long unsigned int, int}; T = float; long unsigned int ndim = 4]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h:534:20: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, int, int&, size_t)’ is ambiguous 534 | mat(ispec, 0, el1, xel2+k) = Tout((2*el2[k]+1.)*val[ispec][0][k]); | ~~~^~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, int, int, long unsigned int}; T = float; long unsigned int ndim = 4]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, int, int, long unsigned int}; T = float; long unsigned int ndim = 4]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h:535:20: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, int, int&, size_t)’ is ambiguous 535 | mat(ispec, 1, el1, xel2+k) = Tout((2*el2[k]+1.)*val[ispec][4][k]); | ~~~^~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, int, int, long unsigned int}; T = float; long unsigned int ndim = 4]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, int, int, long unsigned int}; T = float; long unsigned int ndim = 4]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h:536:20: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, int, int&, size_t)’ is ambiguous 536 | mat(ispec, 2, el1, xel2+k) = Tout((2*el2[k]+1.)*val[ispec][5][k]); | ~~~^~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, int, int, long unsigned int}; T = float; long unsigned int ndim = 4]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, int, int, long unsigned int}; T = float; long unsigned int ndim = 4]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h:537:20: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, int, int&, size_t)’ is ambiguous 537 | mat(ispec, 3, el1, xel2+k) = Tout((2*el2[k]+1.)*val[ispec][6][k]); | ~~~^~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, int, int, long unsigned int}; T = float; long unsigned int ndim = 4]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, int, int, long unsigned int}; T = float; long unsigned int ndim = 4]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h:547:22: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&, size_t, int&)’ is ambiguous 547 | mat(ispec, j, xel2+k, el1) = mat(ispec, j, el1, xel2+k) = 0.; | ~~~^~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int, int}; T = float; long unsigned int ndim = 4]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int, int}; T = float; long unsigned int ndim = 4]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h:547:51: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&, int&, size_t)’ is ambiguous 547 | mat(ispec, j, xel2+k, el1) = mat(ispec, j, el1, xel2+k) = 0.; | ~~~^~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, int, long unsigned int}; T = float; long unsigned int ndim = 4]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, int, long unsigned int}; T = float; long unsigned int ndim = 4]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h: In instantiation of ‘void ducc0::coupling_matrix_spin0and2_pure(const detail_mav::cmav&, size_t, const detail_mav::vmav&, size_t) [with Tout = double; size_t = long unsigned int]’: ./python/misc_pymod.cc:1098:39: required from ‘pybind11::array ducc0::detail_pymodule_misc::Py2_coupling_matrix_spin0and2_pure(const pybind11::array&, size_t, size_t, pybind11::object&) [with Tout = double; size_t = long unsigned int]’ 1098 | coupling_matrix_spin0and2_pure(spec, lmax, mat, nthreads); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/misc_pymod.cc:1111:47: required from here 1111 | Py2_coupling_matrix_spin0and2_pure(spec_, lmax, nthreads, mat__); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/math/mcm.h:530:20: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, int, size_t, int&)’ is ambiguous 530 | mat(ispec, 0, xel2+k, el1) = Tout((2*el1+1.)*val[ispec][0][k]); | ~~~^~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, int, long unsigned int, int}; T = double; long unsigned int ndim = 4]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, int, long unsigned int, int}; T = double; long unsigned int ndim = 4]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h:531:20: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, int, size_t, int&)’ is ambiguous 531 | mat(ispec, 1, xel2+k, el1) = Tout((2*el1+1.)*val[ispec][1][k]); | ~~~^~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, int, long unsigned int, int}; T = double; long unsigned int ndim = 4]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, int, long unsigned int, int}; T = double; long unsigned int ndim = 4]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h:532:20: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, int, size_t, int&)’ is ambiguous 532 | mat(ispec, 2, xel2+k, el1) = Tout((2*el1+1.)*val[ispec][2][k]); | ~~~^~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, int, long unsigned int, int}; T = double; long unsigned int ndim = 4]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, int, long unsigned int, int}; T = double; long unsigned int ndim = 4]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h:533:20: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, int, size_t, int&)’ is ambiguous 533 | mat(ispec, 3, xel2+k, el1) = Tout((2*el1+1.)*val[ispec][3][k]); | ~~~^~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, int, long unsigned int, int}; T = double; long unsigned int ndim = 4]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, int, long unsigned int, int}; T = double; long unsigned int ndim = 4]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h:534:20: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, int, int&, size_t)’ is ambiguous 534 | mat(ispec, 0, el1, xel2+k) = Tout((2*el2[k]+1.)*val[ispec][0][k]); | ~~~^~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, int, int, long unsigned int}; T = double; long unsigned int ndim = 4]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, int, int, long unsigned int}; T = double; long unsigned int ndim = 4]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h:535:20: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, int, int&, size_t)’ is ambiguous 535 | mat(ispec, 1, el1, xel2+k) = Tout((2*el2[k]+1.)*val[ispec][4][k]); | ~~~^~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, int, int, long unsigned int}; T = double; long unsigned int ndim = 4]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, int, int, long unsigned int}; T = double; long unsigned int ndim = 4]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h:536:20: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, int, int&, size_t)’ is ambiguous 536 | mat(ispec, 2, el1, xel2+k) = Tout((2*el2[k]+1.)*val[ispec][5][k]); | ~~~^~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, int, int, long unsigned int}; T = double; long unsigned int ndim = 4]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, int, int, long unsigned int}; T = double; long unsigned int ndim = 4]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h:537:20: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, int, int&, size_t)’ is ambiguous 537 | mat(ispec, 3, el1, xel2+k) = Tout((2*el2[k]+1.)*val[ispec][6][k]); | ~~~^~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, int, int, long unsigned int}; T = double; long unsigned int ndim = 4]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, int, int, long unsigned int}; T = double; long unsigned int ndim = 4]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h:547:22: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&, size_t, int&)’ is ambiguous 547 | mat(ispec, j, xel2+k, el1) = mat(ispec, j, el1, xel2+k) = 0.; | ~~~^~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int, int}; T = double; long unsigned int ndim = 4]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int, int}; T = double; long unsigned int ndim = 4]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h:547:51: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&, int&, size_t)’ is ambiguous 547 | mat(ispec, j, xel2+k, el1) = mat(ispec, j, el1, xel2+k) = 0.; | ~~~^~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, int, long unsigned int}; T = double; long unsigned int ndim = 4]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, int, long unsigned int}; T = double; long unsigned int ndim = 4]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h: In instantiation of ‘void ducc0::coupling_matrix_spin0and2_tri(const detail_mav::cmav&, size_t, const detail_mav::vmav&, size_t) [with int is00 = 0; int is02 = 0; int is20 = 0; int is22 = 0; int im00 = 0; int im02 = -1; int im20 = -1; int impp = -1; int immm = -1; Tout = float; size_t = long unsigned int]’: ./python/misc_pymod.cc:1163:92: required from ‘pybind11::array ducc0::detail_pymodule_misc::Py2_coupling_matrix_spin0and2_tri(const pybind11::array&, size_t, size_t, pybind11::object&) [with int is00 = 0; int is02 = 0; int is20 = 0; int is22 = 0; int im00 = 0; int im02 = -1; int im20 = -1; int impp = -1; int immm = -1; Tout = float; size_t = long unsigned int]’ 1163 | coupling_matrix_spin0and2_tri(spec, lmax, mat, nthreads); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/misc_pymod.cc:1179:3: required from here 1177 | Py2_coupling_matrix_spin0and2_tri(spec_, lmax, nthreads, mat__) : \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/math/mcm.h:309:22: error: call of ‘(const ducc0::detail_mav::vmav) (int, size_t&, size_t)’ is ambiguous 309 | mat(0, j, idx_out+k) = Tout(val[j][k]); | ~~~^~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h:344:24: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&, size_t)’ is ambiguous 344 | mat(ispec, j, idx_out+k) = Tout(val[ispec][j][k]); | ~~~^~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h:378:24: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&, size_t)’ is ambiguous 378 | mat(ispec, j, idx_out+k) = Tout(val[ispec][j][k]); | ~~~^~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h:411:24: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&, size_t)’ is ambiguous 411 | mat(ispec, j, idx_out+k) = Tout(val[ispec][j][k]); | ~~~^~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h:419:22: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&, size_t)’ is ambiguous 419 | mat(ispec, j, idx_out+k) = Tout(0); | ~~~^~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h: In instantiation of ‘void ducc0::coupling_matrix_spin0and2_tri(const detail_mav::cmav&, size_t, const detail_mav::vmav&, size_t) [with int is00 = 0; int is02 = 0; int is20 = 0; int is22 = 0; int im00 = 0; int im02 = -1; int im20 = -1; int impp = -1; int immm = -1; Tout = double; size_t = long unsigned int]’: ./python/misc_pymod.cc:1163:92: required from ‘pybind11::array ducc0::detail_pymodule_misc::Py2_coupling_matrix_spin0and2_tri(const pybind11::array&, size_t, size_t, pybind11::object&) [with int is00 = 0; int is02 = 0; int is20 = 0; int is22 = 0; int im00 = 0; int im02 = -1; int im20 = -1; int impp = -1; int immm = -1; Tout = double; size_t = long unsigned int]’ 1163 | coupling_matrix_spin0and2_tri(spec, lmax, mat, nthreads); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/misc_pymod.cc:1179:3: required from here 1178 | Py2_coupling_matrix_spin0and2_tri(spec_, lmax, nthreads, mat__); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/math/mcm.h:309:22: error: call of ‘(const ducc0::detail_mav::vmav) (int, size_t&, size_t)’ is ambiguous 309 | mat(0, j, idx_out+k) = Tout(val[j][k]); | ~~~^~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h:344:24: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&, size_t)’ is ambiguous 344 | mat(ispec, j, idx_out+k) = Tout(val[ispec][j][k]); | ~~~^~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h:378:24: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&, size_t)’ is ambiguous 378 | mat(ispec, j, idx_out+k) = Tout(val[ispec][j][k]); | ~~~^~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h:411:24: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&, size_t)’ is ambiguous 411 | mat(ispec, j, idx_out+k) = Tout(val[ispec][j][k]); | ~~~^~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h:419:22: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&, size_t)’ is ambiguous 419 | mat(ispec, j, idx_out+k) = Tout(0); | ~~~^~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h: In instantiation of ‘void ducc0::coupling_matrix_spin0and2_tri(const detail_mav::cmav&, size_t, const detail_mav::vmav&, size_t) [with int is00 = 0; int is02 = 1; int is20 = 2; int is22 = 3; int im00 = 0; int im02 = 1; int im20 = 2; int impp = 3; int immm = 4; Tout = float; size_t = long unsigned int]’: ./python/misc_pymod.cc:1163:92: required from ‘pybind11::array ducc0::detail_pymodule_misc::Py2_coupling_matrix_spin0and2_tri(const pybind11::array&, size_t, size_t, pybind11::object&) [with int is00 = 0; int is02 = 1; int is20 = 2; int is22 = 3; int im00 = 0; int im02 = 1; int im20 = 2; int impp = 3; int immm = 4; Tout = float; size_t = long unsigned int]’ 1163 | coupling_matrix_spin0and2_tri(spec, lmax, mat, nthreads); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/misc_pymod.cc:1180:3: required from here 1177 | Py2_coupling_matrix_spin0and2_tri(spec_, lmax, nthreads, mat__) : \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/math/mcm.h:309:22: error: call of ‘(const ducc0::detail_mav::vmav) (int, size_t&, size_t)’ is ambiguous 309 | mat(0, j, idx_out+k) = Tout(val[j][k]); | ~~~^~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h:344:24: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&, size_t)’ is ambiguous 344 | mat(ispec, j, idx_out+k) = Tout(val[ispec][j][k]); | ~~~^~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h:378:24: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&, size_t)’ is ambiguous 378 | mat(ispec, j, idx_out+k) = Tout(val[ispec][j][k]); | ~~~^~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h:411:24: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&, size_t)’ is ambiguous 411 | mat(ispec, j, idx_out+k) = Tout(val[ispec][j][k]); | ~~~^~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h:419:22: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&, size_t)’ is ambiguous 419 | mat(ispec, j, idx_out+k) = Tout(0); | ~~~^~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h: In instantiation of ‘void ducc0::coupling_matrix_spin0and2_tri(const detail_mav::cmav&, size_t, const detail_mav::vmav&, size_t) [with int is00 = 0; int is02 = 1; int is20 = 2; int is22 = 3; int im00 = 0; int im02 = 1; int im20 = 2; int impp = 3; int immm = 4; Tout = double; size_t = long unsigned int]’: ./python/misc_pymod.cc:1163:92: required from ‘pybind11::array ducc0::detail_pymodule_misc::Py2_coupling_matrix_spin0and2_tri(const pybind11::array&, size_t, size_t, pybind11::object&) [with int is00 = 0; int is02 = 1; int is20 = 2; int is22 = 3; int im00 = 0; int im02 = 1; int im20 = 2; int impp = 3; int immm = 4; Tout = double; size_t = long unsigned int]’ 1163 | coupling_matrix_spin0and2_tri(spec, lmax, mat, nthreads); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/misc_pymod.cc:1180:3: required from here 1178 | Py2_coupling_matrix_spin0and2_tri(spec_, lmax, nthreads, mat__); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/math/mcm.h:309:22: error: call of ‘(const ducc0::detail_mav::vmav) (int, size_t&, size_t)’ is ambiguous 309 | mat(0, j, idx_out+k) = Tout(val[j][k]); | ~~~^~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h:344:24: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&, size_t)’ is ambiguous 344 | mat(ispec, j, idx_out+k) = Tout(val[ispec][j][k]); | ~~~^~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h:378:24: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&, size_t)’ is ambiguous 378 | mat(ispec, j, idx_out+k) = Tout(val[ispec][j][k]); | ~~~^~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h:411:24: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&, size_t)’ is ambiguous 411 | mat(ispec, j, idx_out+k) = Tout(val[ispec][j][k]); | ~~~^~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h:419:22: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&, size_t)’ is ambiguous 419 | mat(ispec, j, idx_out+k) = Tout(0); | ~~~^~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h: In instantiation of ‘void ducc0::coupling_matrix_spin0and2_tri(const detail_mav::cmav&, size_t, const detail_mav::vmav&, size_t) [with int is00 = 0; int is02 = 1; int is20 = 1; int is22 = 2; int im00 = 0; int im02 = 1; int im20 = -1; int impp = 2; int immm = -1; Tout = float; size_t = long unsigned int]’: ./python/misc_pymod.cc:1163:92: required from ‘pybind11::array ducc0::detail_pymodule_misc::Py2_coupling_matrix_spin0and2_tri(const pybind11::array&, size_t, size_t, pybind11::object&) [with int is00 = 0; int is02 = 1; int is20 = 1; int is22 = 2; int im00 = 0; int im02 = 1; int im20 = -1; int impp = 2; int immm = -1; Tout = float; size_t = long unsigned int]’ 1163 | coupling_matrix_spin0and2_tri(spec, lmax, mat, nthreads); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/misc_pymod.cc:1181:3: required from here 1177 | Py2_coupling_matrix_spin0and2_tri(spec_, lmax, nthreads, mat__) : \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/math/mcm.h:309:22: error: call of ‘(const ducc0::detail_mav::vmav) (int, size_t&, size_t)’ is ambiguous 309 | mat(0, j, idx_out+k) = Tout(val[j][k]); | ~~~^~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h:344:24: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&, size_t)’ is ambiguous 344 | mat(ispec, j, idx_out+k) = Tout(val[ispec][j][k]); | ~~~^~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h:378:24: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&, size_t)’ is ambiguous 378 | mat(ispec, j, idx_out+k) = Tout(val[ispec][j][k]); | ~~~^~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h:411:24: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&, size_t)’ is ambiguous 411 | mat(ispec, j, idx_out+k) = Tout(val[ispec][j][k]); | ~~~^~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h:419:22: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&, size_t)’ is ambiguous 419 | mat(ispec, j, idx_out+k) = Tout(0); | ~~~^~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h: In instantiation of ‘void ducc0::coupling_matrix_spin0and2_tri(const detail_mav::cmav&, size_t, const detail_mav::vmav&, size_t) [with int is00 = 0; int is02 = 1; int is20 = 1; int is22 = 2; int im00 = 0; int im02 = 1; int im20 = -1; int impp = 2; int immm = -1; Tout = double; size_t = long unsigned int]’: ./python/misc_pymod.cc:1163:92: required from ‘pybind11::array ducc0::detail_pymodule_misc::Py2_coupling_matrix_spin0and2_tri(const pybind11::array&, size_t, size_t, pybind11::object&) [with int is00 = 0; int is02 = 1; int is20 = 1; int is22 = 2; int im00 = 0; int im02 = 1; int im20 = -1; int impp = 2; int immm = -1; Tout = double; size_t = long unsigned int]’ 1163 | coupling_matrix_spin0and2_tri(spec, lmax, mat, nthreads); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/misc_pymod.cc:1181:3: required from here 1178 | Py2_coupling_matrix_spin0and2_tri(spec_, lmax, nthreads, mat__); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/math/mcm.h:309:22: error: call of ‘(const ducc0::detail_mav::vmav) (int, size_t&, size_t)’ is ambiguous 309 | mat(0, j, idx_out+k) = Tout(val[j][k]); | ~~~^~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h:344:24: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&, size_t)’ is ambiguous 344 | mat(ispec, j, idx_out+k) = Tout(val[ispec][j][k]); | ~~~^~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h:378:24: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&, size_t)’ is ambiguous 378 | mat(ispec, j, idx_out+k) = Tout(val[ispec][j][k]); | ~~~^~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h:411:24: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&, size_t)’ is ambiguous 411 | mat(ispec, j, idx_out+k) = Tout(val[ispec][j][k]); | ~~~^~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h:419:22: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&, size_t)’ is ambiguous 419 | mat(ispec, j, idx_out+k) = Tout(0); | ~~~^~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h: In instantiation of ‘void ducc0::coupling_matrix_spin0and2_tri(const detail_mav::cmav&, size_t, const detail_mav::vmav&, size_t) [with int is00 = 0; int is02 = 1; int is20 = 1; int is22 = 2; int im00 = 0; int im02 = 1; int im20 = -1; int impp = 2; int immm = 3; Tout = float; size_t = long unsigned int]’: ./python/misc_pymod.cc:1163:92: required from ‘pybind11::array ducc0::detail_pymodule_misc::Py2_coupling_matrix_spin0and2_tri(const pybind11::array&, size_t, size_t, pybind11::object&) [with int is00 = 0; int is02 = 1; int is20 = 1; int is22 = 2; int im00 = 0; int im02 = 1; int im20 = -1; int impp = 2; int immm = 3; Tout = float; size_t = long unsigned int]’ 1163 | coupling_matrix_spin0and2_tri(spec, lmax, mat, nthreads); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/misc_pymod.cc:1182:3: required from here 1177 | Py2_coupling_matrix_spin0and2_tri(spec_, lmax, nthreads, mat__) : \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/math/mcm.h:309:22: error: call of ‘(const ducc0::detail_mav::vmav) (int, size_t&, size_t)’ is ambiguous 309 | mat(0, j, idx_out+k) = Tout(val[j][k]); | ~~~^~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h:344:24: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&, size_t)’ is ambiguous 344 | mat(ispec, j, idx_out+k) = Tout(val[ispec][j][k]); | ~~~^~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h:378:24: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&, size_t)’ is ambiguous 378 | mat(ispec, j, idx_out+k) = Tout(val[ispec][j][k]); | ~~~^~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h:411:24: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&, size_t)’ is ambiguous 411 | mat(ispec, j, idx_out+k) = Tout(val[ispec][j][k]); | ~~~^~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h:419:22: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&, size_t)’ is ambiguous 419 | mat(ispec, j, idx_out+k) = Tout(0); | ~~~^~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h: In instantiation of ‘void ducc0::coupling_matrix_spin0and2_tri(const detail_mav::cmav&, size_t, const detail_mav::vmav&, size_t) [with int is00 = 0; int is02 = 1; int is20 = 1; int is22 = 2; int im00 = 0; int im02 = 1; int im20 = -1; int impp = 2; int immm = 3; Tout = double; size_t = long unsigned int]’: ./python/misc_pymod.cc:1163:92: required from ‘pybind11::array ducc0::detail_pymodule_misc::Py2_coupling_matrix_spin0and2_tri(const pybind11::array&, size_t, size_t, pybind11::object&) [with int is00 = 0; int is02 = 1; int is20 = 1; int is22 = 2; int im00 = 0; int im02 = 1; int im20 = -1; int impp = 2; int immm = 3; Tout = double; size_t = long unsigned int]’ 1163 | coupling_matrix_spin0and2_tri(spec, lmax, mat, nthreads); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/misc_pymod.cc:1182:3: required from here 1178 | Py2_coupling_matrix_spin0and2_tri(spec_, lmax, nthreads, mat__); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/math/mcm.h:309:22: error: call of ‘(const ducc0::detail_mav::vmav) (int, size_t&, size_t)’ is ambiguous 309 | mat(0, j, idx_out+k) = Tout(val[j][k]); | ~~~^~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h:344:24: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&, size_t)’ is ambiguous 344 | mat(ispec, j, idx_out+k) = Tout(val[ispec][j][k]); | ~~~^~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h:378:24: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&, size_t)’ is ambiguous 378 | mat(ispec, j, idx_out+k) = Tout(val[ispec][j][k]); | ~~~^~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h:411:24: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&, size_t)’ is ambiguous 411 | mat(ispec, j, idx_out+k) = Tout(val[ispec][j][k]); | ~~~^~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h:419:22: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&, size_t)’ is ambiguous 419 | mat(ispec, j, idx_out+k) = Tout(0); | ~~~^~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h: In instantiation of ‘void ducc0::coupling_matrix_spin0and2_tri(const detail_mav::cmav&, size_t, const detail_mav::vmav&, size_t) [with int is00 = 0; int is02 = 1; int is20 = 2; int is22 = 3; int im00 = 0; int im02 = 1; int im20 = 2; int impp = 3; int immm = -1; Tout = float; size_t = long unsigned int]’: ./python/misc_pymod.cc:1163:92: required from ‘pybind11::array ducc0::detail_pymodule_misc::Py2_coupling_matrix_spin0and2_tri(const pybind11::array&, size_t, size_t, pybind11::object&) [with int is00 = 0; int is02 = 1; int is20 = 2; int is22 = 3; int im00 = 0; int im02 = 1; int im20 = 2; int impp = 3; int immm = -1; Tout = float; size_t = long unsigned int]’ 1163 | coupling_matrix_spin0and2_tri(spec, lmax, mat, nthreads); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/misc_pymod.cc:1183:3: required from here 1177 | Py2_coupling_matrix_spin0and2_tri(spec_, lmax, nthreads, mat__) : \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/math/mcm.h:309:22: error: call of ‘(const ducc0::detail_mav::vmav) (int, size_t&, size_t)’ is ambiguous 309 | mat(0, j, idx_out+k) = Tout(val[j][k]); | ~~~^~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h:344:24: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&, size_t)’ is ambiguous 344 | mat(ispec, j, idx_out+k) = Tout(val[ispec][j][k]); | ~~~^~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h:378:24: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&, size_t)’ is ambiguous 378 | mat(ispec, j, idx_out+k) = Tout(val[ispec][j][k]); | ~~~^~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h:411:24: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&, size_t)’ is ambiguous 411 | mat(ispec, j, idx_out+k) = Tout(val[ispec][j][k]); | ~~~^~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h:419:22: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&, size_t)’ is ambiguous 419 | mat(ispec, j, idx_out+k) = Tout(0); | ~~~^~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h: In instantiation of ‘void ducc0::coupling_matrix_spin0and2_tri(const detail_mav::cmav&, size_t, const detail_mav::vmav&, size_t) [with int is00 = 0; int is02 = 1; int is20 = 2; int is22 = 3; int im00 = 0; int im02 = 1; int im20 = 2; int impp = 3; int immm = -1; Tout = double; size_t = long unsigned int]’: ./python/misc_pymod.cc:1163:92: required from ‘pybind11::array ducc0::detail_pymodule_misc::Py2_coupling_matrix_spin0and2_tri(const pybind11::array&, size_t, size_t, pybind11::object&) [with int is00 = 0; int is02 = 1; int is20 = 2; int is22 = 3; int im00 = 0; int im02 = 1; int im20 = 2; int impp = 3; int immm = -1; Tout = double; size_t = long unsigned int]’ 1163 | coupling_matrix_spin0and2_tri(spec, lmax, mat, nthreads); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/misc_pymod.cc:1183:3: required from here 1178 | Py2_coupling_matrix_spin0and2_tri(spec_, lmax, nthreads, mat__); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/math/mcm.h:309:22: error: call of ‘(const ducc0::detail_mav::vmav) (int, size_t&, size_t)’ is ambiguous 309 | mat(0, j, idx_out+k) = Tout(val[j][k]); | ~~~^~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h:344:24: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&, size_t)’ is ambiguous 344 | mat(ispec, j, idx_out+k) = Tout(val[ispec][j][k]); | ~~~^~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h:378:24: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&, size_t)’ is ambiguous 378 | mat(ispec, j, idx_out+k) = Tout(val[ispec][j][k]); | ~~~^~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h:411:24: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&, size_t)’ is ambiguous 411 | mat(ispec, j, idx_out+k) = Tout(val[ispec][j][k]); | ~~~^~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h:419:22: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&, size_t)’ is ambiguous 419 | mat(ispec, j, idx_out+k) = Tout(0); | ~~~^~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h: In instantiation of ‘void ducc0::coupling_matrix_spin0and2_tri(const detail_mav::cmav&, size_t, const detail_mav::vmav&, size_t) [with int is00 = 0; int is02 = 0; int is20 = 0; int is22 = 0; int im00 = -1; int im02 = -1; int im20 = -1; int impp = 0; int immm = 1; Tout = float; size_t = long unsigned int]’: ./python/misc_pymod.cc:1163:92: required from ‘pybind11::array ducc0::detail_pymodule_misc::Py2_coupling_matrix_spin0and2_tri(const pybind11::array&, size_t, size_t, pybind11::object&) [with int is00 = 0; int is02 = 0; int is20 = 0; int is22 = 0; int im00 = -1; int im02 = -1; int im20 = -1; int impp = 0; int immm = 1; Tout = float; size_t = long unsigned int]’ 1163 | coupling_matrix_spin0and2_tri(spec, lmax, mat, nthreads); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/misc_pymod.cc:1184:3: required from here 1177 | Py2_coupling_matrix_spin0and2_tri(spec_, lmax, nthreads, mat__) : \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/math/mcm.h:309:22: error: call of ‘(const ducc0::detail_mav::vmav) (int, size_t&, size_t)’ is ambiguous 309 | mat(0, j, idx_out+k) = Tout(val[j][k]); | ~~~^~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h:344:24: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&, size_t)’ is ambiguous 344 | mat(ispec, j, idx_out+k) = Tout(val[ispec][j][k]); | ~~~^~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h:378:24: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&, size_t)’ is ambiguous 378 | mat(ispec, j, idx_out+k) = Tout(val[ispec][j][k]); | ~~~^~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h:411:24: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&, size_t)’ is ambiguous 411 | mat(ispec, j, idx_out+k) = Tout(val[ispec][j][k]); | ~~~^~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h:419:22: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&, size_t)’ is ambiguous 419 | mat(ispec, j, idx_out+k) = Tout(0); | ~~~^~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h: In instantiation of ‘void ducc0::coupling_matrix_spin0and2_tri(const detail_mav::cmav&, size_t, const detail_mav::vmav&, size_t) [with int is00 = 0; int is02 = 0; int is20 = 0; int is22 = 0; int im00 = -1; int im02 = -1; int im20 = -1; int impp = 0; int immm = 1; Tout = double; size_t = long unsigned int]’: ./python/misc_pymod.cc:1163:92: required from ‘pybind11::array ducc0::detail_pymodule_misc::Py2_coupling_matrix_spin0and2_tri(const pybind11::array&, size_t, size_t, pybind11::object&) [with int is00 = 0; int is02 = 0; int is20 = 0; int is22 = 0; int im00 = -1; int im02 = -1; int im20 = -1; int impp = 0; int immm = 1; Tout = double; size_t = long unsigned int]’ 1163 | coupling_matrix_spin0and2_tri(spec, lmax, mat, nthreads); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/misc_pymod.cc:1184:3: required from here 1178 | Py2_coupling_matrix_spin0and2_tri(spec_, lmax, nthreads, mat__); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/math/mcm.h:309:22: error: call of ‘(const ducc0::detail_mav::vmav) (int, size_t&, size_t)’ is ambiguous 309 | mat(0, j, idx_out+k) = Tout(val[j][k]); | ~~~^~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h:344:24: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&, size_t)’ is ambiguous 344 | mat(ispec, j, idx_out+k) = Tout(val[ispec][j][k]); | ~~~^~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h:378:24: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&, size_t)’ is ambiguous 378 | mat(ispec, j, idx_out+k) = Tout(val[ispec][j][k]); | ~~~^~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h:411:24: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&, size_t)’ is ambiguous 411 | mat(ispec, j, idx_out+k) = Tout(val[ispec][j][k]); | ~~~^~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h:419:22: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&, size_t)’ is ambiguous 419 | mat(ispec, j, idx_out+k) = Tout(0); | ~~~^~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h: In instantiation of ‘void ducc0::coupling_matrix_spin0and2_tri(const detail_mav::cmav&, size_t, const detail_mav::vmav&, size_t) [with int is00 = 0; int is02 = 0; int is20 = 0; int is22 = 0; int im00 = 0; int im02 = 1; int im20 = 2; int impp = 3; int immm = 4; Tout = float; size_t = long unsigned int]’: ./python/misc_pymod.cc:1163:92: required from ‘pybind11::array ducc0::detail_pymodule_misc::Py2_coupling_matrix_spin0and2_tri(const pybind11::array&, size_t, size_t, pybind11::object&) [with int is00 = 0; int is02 = 0; int is20 = 0; int is22 = 0; int im00 = 0; int im02 = 1; int im20 = 2; int impp = 3; int immm = 4; Tout = float; size_t = long unsigned int]’ 1163 | coupling_matrix_spin0and2_tri(spec, lmax, mat, nthreads); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/misc_pymod.cc:1185:3: required from here 1177 | Py2_coupling_matrix_spin0and2_tri(spec_, lmax, nthreads, mat__) : \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/math/mcm.h:309:22: error: call of ‘(const ducc0::detail_mav::vmav) (int, size_t&, size_t)’ is ambiguous 309 | mat(0, j, idx_out+k) = Tout(val[j][k]); | ~~~^~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h:344:24: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&, size_t)’ is ambiguous 344 | mat(ispec, j, idx_out+k) = Tout(val[ispec][j][k]); | ~~~^~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h:378:24: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&, size_t)’ is ambiguous 378 | mat(ispec, j, idx_out+k) = Tout(val[ispec][j][k]); | ~~~^~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h:411:24: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&, size_t)’ is ambiguous 411 | mat(ispec, j, idx_out+k) = Tout(val[ispec][j][k]); | ~~~^~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h:419:22: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&, size_t)’ is ambiguous 419 | mat(ispec, j, idx_out+k) = Tout(0); | ~~~^~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h: In instantiation of ‘void ducc0::coupling_matrix_spin0and2_tri(const detail_mav::cmav&, size_t, const detail_mav::vmav&, size_t) [with int is00 = 0; int is02 = 0; int is20 = 0; int is22 = 0; int im00 = 0; int im02 = 1; int im20 = 2; int impp = 3; int immm = 4; Tout = double; size_t = long unsigned int]’: ./python/misc_pymod.cc:1163:92: required from ‘pybind11::array ducc0::detail_pymodule_misc::Py2_coupling_matrix_spin0and2_tri(const pybind11::array&, size_t, size_t, pybind11::object&) [with int is00 = 0; int is02 = 0; int is20 = 0; int is22 = 0; int im00 = 0; int im02 = 1; int im20 = 2; int impp = 3; int immm = 4; Tout = double; size_t = long unsigned int]’ 1163 | coupling_matrix_spin0and2_tri(spec, lmax, mat, nthreads); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/misc_pymod.cc:1185:3: required from here 1178 | Py2_coupling_matrix_spin0and2_tri(spec_, lmax, nthreads, mat__); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/math/mcm.h:309:22: error: call of ‘(const ducc0::detail_mav::vmav) (int, size_t&, size_t)’ is ambiguous 309 | mat(0, j, idx_out+k) = Tout(val[j][k]); | ~~~^~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h:344:24: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&, size_t)’ is ambiguous 344 | mat(ispec, j, idx_out+k) = Tout(val[ispec][j][k]); | ~~~^~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h:378:24: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&, size_t)’ is ambiguous 378 | mat(ispec, j, idx_out+k) = Tout(val[ispec][j][k]); | ~~~^~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h:411:24: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&, size_t)’ is ambiguous 411 | mat(ispec, j, idx_out+k) = Tout(val[ispec][j][k]); | ~~~^~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h:419:22: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&, size_t)’ is ambiguous 419 | mat(ispec, j, idx_out+k) = Tout(0); | ~~~^~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ In file included from ./src/ducc0/sht/sht_utils.h:32: ./src/ducc0/nufft/nufft.h: In instantiation of ‘ducc0::detail_nufft::nu2nu(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav, 1>&, bool, double, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, size_t, double, double):: [with auto:906 = ducc0::detail_threading::Scheduler]’: /usr/include/c++/15/type_traits:2780:26: required by substitution of ‘template static std::__result_of_success()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = ducc0::detail_nufft::nu2nu(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav, 1>&, bool, double, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, size_t, double, double)::&; _Args = {ducc0::detail_threading::Scheduler&}]’ 2780 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:2791:60: required from ‘struct std::__result_of_impl(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav, 1>&, bool, double, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, size_t, double, double)::&, ducc0::detail_threading::Scheduler&>’ 2791 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/15/bits/std_function.h:350:9: recursively required by substitution of ‘template struct std::__is_invocable_impl<_Result, _Ret, true, std::__void_t > [with _Result = std::__invoke_result(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav, 1>&, bool, double, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, size_t, double, double)::&, ducc0::detail_threading::Scheduler&>; _Ret = void]’ 350 | struct _Callable | ^~~~~~~~~ /usr/include/c++/15/bits/std_function.h:350:9: required from ‘struct std::function::_Callable(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav, 1>&, bool, double, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, size_t, double, double)::, ducc0::detail_nufft::nu2nu(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav, 1>&, bool, double, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, size_t, double, double)::, std::__invoke_result(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav, 1>&, bool, double, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, size_t, double, double)::&, ducc0::detail_threading::Scheduler&> >’ /usr/include/c++/15/bits/std_function.h:355:41: required by substitution of ‘template template using std::function<_Res(_ArgTypes ...)>::_Requires = std::__enable_if_t<((bool)_Cond::value), _Tp> [with _Cond = std::function::_Callable(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav, 1>&, bool, double, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, size_t, double, double)::, ducc0::detail_nufft::nu2nu(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav, 1>&, bool, double, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, size_t, double, double)::, std::__invoke_result(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav, 1>&, bool, double, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, size_t, double, double)::&, ducc0::detail_threading::Scheduler&> >; _Tp = void; _Res = void; _ArgTypes = {ducc0::detail_threading::Scheduler&}]’ 355 | using _Requires = __enable_if_t<_Cond::value, _Tp>; | ^~~~~ /usr/include/c++/15/bits/std_function.h:436:9: required by substitution of ‘template std::function::function(_Functor&&) [with _Functor = ducc0::detail_nufft::nu2nu(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav, 1>&, bool, double, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, size_t, double, double)::; _Constraints = ]’ 436 | typename _Constraints = _Requires<_Callable<_Functor>>> | ^~~~~~~~ ./src/ducc0/nufft/nufft.h:736:13: required from ‘void ducc0::detail_nufft::nu2nu(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav, 1>&, bool, double, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, size_t, double, double) [with Tcalc = double; Tacc = double; Tpoints = double; Tcoord = double; size_t = long unsigned int]’ 736 | execStatic(points_in.shape(0), nthreads, 0, [&,mid_in=mid_in,mid_out=mid_out](auto &sched) | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 737 | { | ~ 738 | while (auto rng=sched.getNext()) for (auto i=rng.lo; i(polar(1., psign*phase)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 744 | } | ~ 745 | }); | ~~ ./python/nufft_pymod.cc:193:24: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_nu2nu(const pybind11::array&, const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double) [with Tpoints = double; Tcoord = double; size_t = long unsigned int]’ 193 | nu2nu(coord_in,subarray<1>(points_in,{{0},{}}),forward, | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 194 | epsilon,nthreads,coord_out,subarray<1>(points_out,{{0},{}}),verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 195 | sigma_min,sigma_max); | ~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:214:39: required from here 214 | return Py2_nu2nu(points_in, coord_in, coord_out, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 215 | points_out, verbosity, sigma_min, sigma_max); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:743:18: error: call of ‘(ducc0::detail_mav::vmav, 1>) (long unsigned int&)’ is ambiguous 743 | points_in_2(i) = points_in(i)*complex(polar(1., psign*phase)); | ~~~~~~~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/nufft.h: In instantiation of ‘ducc0::detail_nufft::nu2nu(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav, 1>&, bool, double, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, size_t, double, double):: [with auto:907 = ducc0::detail_threading::Scheduler]’: /usr/include/c++/15/type_traits:2780:26: required by substitution of ‘template static std::__result_of_success()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = ducc0::detail_nufft::nu2nu(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav, 1>&, bool, double, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, size_t, double, double)::&; _Args = {ducc0::detail_threading::Scheduler&}]’ 2780 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:2791:60: required from ‘struct std::__result_of_impl(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav, 1>&, bool, double, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, size_t, double, double)::&, ducc0::detail_threading::Scheduler&>’ 2791 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/15/bits/std_function.h:350:9: recursively required by substitution of ‘template struct std::__is_invocable_impl<_Result, _Ret, true, std::__void_t > [with _Result = std::__invoke_result(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav, 1>&, bool, double, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, size_t, double, double)::&, ducc0::detail_threading::Scheduler&>; _Ret = void]’ 350 | struct _Callable | ^~~~~~~~~ /usr/include/c++/15/bits/std_function.h:350:9: required from ‘struct std::function::_Callable(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav, 1>&, bool, double, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, size_t, double, double)::, ducc0::detail_nufft::nu2nu(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav, 1>&, bool, double, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, size_t, double, double)::, std::__invoke_result(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav, 1>&, bool, double, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, size_t, double, double)::&, ducc0::detail_threading::Scheduler&> >’ /usr/include/c++/15/bits/std_function.h:355:41: required by substitution of ‘template template using std::function<_Res(_ArgTypes ...)>::_Requires = std::__enable_if_t<((bool)_Cond::value), _Tp> [with _Cond = std::function::_Callable(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav, 1>&, bool, double, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, size_t, double, double)::, ducc0::detail_nufft::nu2nu(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav, 1>&, bool, double, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, size_t, double, double)::, std::__invoke_result(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav, 1>&, bool, double, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, size_t, double, double)::&, ducc0::detail_threading::Scheduler&> >; _Tp = void; _Res = void; _ArgTypes = {ducc0::detail_threading::Scheduler&}]’ 355 | using _Requires = __enable_if_t<_Cond::value, _Tp>; | ^~~~~ /usr/include/c++/15/bits/std_function.h:436:9: required by substitution of ‘template std::function::function(_Functor&&) [with _Functor = ducc0::detail_nufft::nu2nu(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav, 1>&, bool, double, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, size_t, double, double)::; _Constraints = ]’ 436 | typename _Constraints = _Requires<_Callable<_Functor>>> | ^~~~~~~~ ./src/ducc0/nufft/nufft.h:768:13: required from ‘void ducc0::detail_nufft::nu2nu(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav, 1>&, bool, double, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, size_t, double, double) [with Tcalc = double; Tacc = double; Tpoints = double; Tcoord = double; size_t = long unsigned int]’ 768 | execStatic(points_out.shape(0), nthreads, 0, [&,mid_in=mid_in,mid_out=mid_out,dims=dims](auto &sched) | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 769 | { | ~ 770 | while (auto rng=sched.getNext()) for (auto i=rng.lo; i(Tpoints((coord_out(i,d)-mid_out[d])*gamma[d]/dims[d])); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 776 | phase += (coord_out(i,d)-mid_out[d])*mid_in[d]; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 777 | } | ~ 778 | points_out(i) *= complex(polar(phihat, psign*phase)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 779 | } | ~ 780 | }); | ~~ ./python/nufft_pymod.cc:193:24: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_nu2nu(const pybind11::array&, const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double) [with Tpoints = double; Tcoord = double; size_t = long unsigned int]’ 193 | nu2nu(coord_in,subarray<1>(points_in,{{0},{}}),forward, | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 194 | epsilon,nthreads,coord_out,subarray<1>(points_out,{{0},{}}),verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 195 | sigma_min,sigma_max); | ~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:214:39: required from here 214 | return Py2_nu2nu(points_in, coord_in, coord_out, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 215 | points_out, verbosity, sigma_min, sigma_max); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:778:17: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (long unsigned int&)’ is ambiguous 778 | points_out(i) *= complex(polar(phihat, psign*phase)); | ~~~~~~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/nufft.h: In instantiation of ‘ducc0::detail_nufft::Nufft3::Nufft3(const ducc0::detail_mav::cmav&, double, size_t, const ducc0::detail_mav::cmav&, size_t, double, double):: [with auto:902 = ducc0::detail_threading::Scheduler]’: /usr/include/c++/15/type_traits:2780:26: required by substitution of ‘template static std::__result_of_success()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = ducc0::detail_nufft::Nufft3::Nufft3(const ducc0::detail_mav::cmav&, double, size_t, const ducc0::detail_mav::cmav&, size_t, double, double)::&; _Args = {ducc0::detail_threading::Scheduler&}]’ 2780 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:2791:60: required from ‘struct std::__result_of_impl::Nufft3(const ducc0::detail_mav::cmav&, double, size_t, const ducc0::detail_mav::cmav&, size_t, double, double)::&, ducc0::detail_threading::Scheduler&>’ 2791 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/15/bits/std_function.h:350:9: recursively required by substitution of ‘template struct std::__is_invocable_impl<_Result, _Ret, true, std::__void_t > [with _Result = std::__invoke_result::Nufft3(const ducc0::detail_mav::cmav&, double, size_t, const ducc0::detail_mav::cmav&, size_t, double, double)::&, ducc0::detail_threading::Scheduler&>; _Ret = void]’ 350 | struct _Callable | ^~~~~~~~~ /usr/include/c++/15/bits/std_function.h:350:9: required from ‘struct std::function::_Callable::Nufft3(const ducc0::detail_mav::cmav&, double, size_t, const ducc0::detail_mav::cmav&, size_t, double, double)::, ducc0::detail_nufft::Nufft3::Nufft3(const ducc0::detail_mav::cmav&, double, size_t, const ducc0::detail_mav::cmav&, size_t, double, double)::, std::__invoke_result::Nufft3(const ducc0::detail_mav::cmav&, double, size_t, const ducc0::detail_mav::cmav&, size_t, double, double)::&, ducc0::detail_threading::Scheduler&> >’ /usr/include/c++/15/bits/std_function.h:355:41: required by substitution of ‘template template using std::function<_Res(_ArgTypes ...)>::_Requires = std::__enable_if_t<((bool)_Cond::value), _Tp> [with _Cond = std::function::_Callable::Nufft3(const ducc0::detail_mav::cmav&, double, size_t, const ducc0::detail_mav::cmav&, size_t, double, double)::, ducc0::detail_nufft::Nufft3::Nufft3(const ducc0::detail_mav::cmav&, double, size_t, const ducc0::detail_mav::cmav&, size_t, double, double)::, std::__invoke_result::Nufft3(const ducc0::detail_mav::cmav&, double, size_t, const ducc0::detail_mav::cmav&, size_t, double, double)::&, ducc0::detail_threading::Scheduler&> >; _Tp = void; _Res = void; _ArgTypes = {ducc0::detail_threading::Scheduler&}]’ 355 | using _Requires = __enable_if_t<_Cond::value, _Tp>; | ^~~~~ /usr/include/c++/15/bits/std_function.h:436:9: required by substitution of ‘template std::function::function(_Functor&&) [with _Functor = ducc0::detail_nufft::Nufft3::Nufft3(const ducc0::detail_mav::cmav&, double, size_t, const ducc0::detail_mav::cmav&, size_t, double, double)::; _Constraints = ]’ 436 | typename _Constraints = _Requires<_Callable<_Functor>>> | ^~~~~~~~ ./src/ducc0/nufft/nufft.h:613:17: required from ‘ducc0::detail_nufft::Nufft3::Nufft3(const ducc0::detail_mav::cmav&, double, size_t, const ducc0::detail_mav::cmav&, size_t, double, double) [with Tcalc = double; Tacc = double; Tpoints = double; Tcoord = double; size_t = long unsigned int]’ 613 | execStatic(coord_in.shape(0), nthreads, 0, [&,mid_in=mid_in,mid_out=mid_out](auto &sched) | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 614 | { | ~ 615 | while (auto rng=sched.getNext()) for (auto i=rng.lo; i(polar(1., phase)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 623 | } | ~ 624 | }); | ~~ ./python/nufft_pymod.cc:198:47: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_nu2nu(const pybind11::array&, const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double) [with Tpoints = double; Tcoord = double; size_t = long unsigned int]’ 198 | Nufft3 nufft(coord_in, epsilon, nthreads, | ^~~~~ ./python/nufft_pymod.cc:214:39: required from here 214 | return Py2_nu2nu(points_in, coord_in, coord_out, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 215 | points_out, verbosity, sigma_min, sigma_max); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:622:18: error: call of ‘(ducc0::detail_mav::vmav, 1>) (long unsigned int&)’ is ambiguous 622 | fact_in(i) = complex(polar(1., phase)); | ~~~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/nufft.h: In instantiation of ‘ducc0::detail_nufft::Nufft3::Nufft3(const ducc0::detail_mav::cmav&, double, size_t, const ducc0::detail_mav::cmav&, size_t, double, double):: [with auto:903 = ducc0::detail_threading::Scheduler]’: /usr/include/c++/15/type_traits:2780:26: required by substitution of ‘template static std::__result_of_success()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = ducc0::detail_nufft::Nufft3::Nufft3(const ducc0::detail_mav::cmav&, double, size_t, const ducc0::detail_mav::cmav&, size_t, double, double)::&; _Args = {ducc0::detail_threading::Scheduler&}]’ 2780 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:2791:60: required from ‘struct std::__result_of_impl::Nufft3(const ducc0::detail_mav::cmav&, double, size_t, const ducc0::detail_mav::cmav&, size_t, double, double)::&, ducc0::detail_threading::Scheduler&>’ 2791 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/15/bits/std_function.h:350:9: recursively required by substitution of ‘template struct std::__is_invocable_impl<_Result, _Ret, true, std::__void_t > [with _Result = std::__invoke_result::Nufft3(const ducc0::detail_mav::cmav&, double, size_t, const ducc0::detail_mav::cmav&, size_t, double, double)::&, ducc0::detail_threading::Scheduler&>; _Ret = void]’ 350 | struct _Callable | ^~~~~~~~~ /usr/include/c++/15/bits/std_function.h:350:9: required from ‘struct std::function::_Callable::Nufft3(const ducc0::detail_mav::cmav&, double, size_t, const ducc0::detail_mav::cmav&, size_t, double, double)::, ducc0::detail_nufft::Nufft3::Nufft3(const ducc0::detail_mav::cmav&, double, size_t, const ducc0::detail_mav::cmav&, size_t, double, double)::, std::__invoke_result::Nufft3(const ducc0::detail_mav::cmav&, double, size_t, const ducc0::detail_mav::cmav&, size_t, double, double)::&, ducc0::detail_threading::Scheduler&> >’ /usr/include/c++/15/bits/std_function.h:355:41: required by substitution of ‘template template using std::function<_Res(_ArgTypes ...)>::_Requires = std::__enable_if_t<((bool)_Cond::value), _Tp> [with _Cond = std::function::_Callable::Nufft3(const ducc0::detail_mav::cmav&, double, size_t, const ducc0::detail_mav::cmav&, size_t, double, double)::, ducc0::detail_nufft::Nufft3::Nufft3(const ducc0::detail_mav::cmav&, double, size_t, const ducc0::detail_mav::cmav&, size_t, double, double)::, std::__invoke_result::Nufft3(const ducc0::detail_mav::cmav&, double, size_t, const ducc0::detail_mav::cmav&, size_t, double, double)::&, ducc0::detail_threading::Scheduler&> >; _Tp = void; _Res = void; _ArgTypes = {ducc0::detail_threading::Scheduler&}]’ 355 | using _Requires = __enable_if_t<_Cond::value, _Tp>; | ^~~~~ /usr/include/c++/15/bits/std_function.h:436:9: required by substitution of ‘template std::function::function(_Functor&&) [with _Functor = ducc0::detail_nufft::Nufft3::Nufft3(const ducc0::detail_mav::cmav&, double, size_t, const ducc0::detail_mav::cmav&, size_t, double, double)::; _Constraints = ]’ 436 | typename _Constraints = _Requires<_Callable<_Functor>>> | ^~~~~~~~ ./src/ducc0/nufft/nufft.h:642:17: required from ‘ducc0::detail_nufft::Nufft3::Nufft3(const ducc0::detail_mav::cmav&, double, size_t, const ducc0::detail_mav::cmav&, size_t, double, double) [with Tcalc = double; Tacc = double; Tpoints = double; Tcoord = double; size_t = long unsigned int]’ 642 | execStatic(coord_out.shape(0), nthreads, 0, [&,mid_in=mid_in,mid_out=mid_out](auto &sched) | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 643 | { | ~ 644 | while (auto rng=sched.getNext()) for (auto i=rng.lo; i(Tpoints((coord_out(i,d)-mid_out[d])*gamma[d]/dims[d])); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 650 | phase += (coord_out(i,d)-mid_out[d])*mid_in[d]; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 651 | } | ~ 652 | fact_out(i) = complex(polar(phihat, phase)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 653 | } | ~ 654 | }); | ~~ ./python/nufft_pymod.cc:198:47: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_nu2nu(const pybind11::array&, const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double) [with Tpoints = double; Tcoord = double; size_t = long unsigned int]’ 198 | Nufft3 nufft(coord_in, epsilon, nthreads, | ^~~~~ ./python/nufft_pymod.cc:214:39: required from here 214 | return Py2_nu2nu(points_in, coord_in, coord_out, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 215 | points_out, verbosity, sigma_min, sigma_max); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:652:19: error: call of ‘(ducc0::detail_mav::vmav, 1>) (long unsigned int&)’ is ambiguous 652 | fact_out(i) = complex(polar(phihat, phase)); | ~~~~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/nufft.h: In instantiation of ‘ducc0::detail_nufft::Nufft3::exec(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&, bool):: [with auto:904 = ducc0::detail_threading::Scheduler]’: /usr/include/c++/15/type_traits:2780:26: required by substitution of ‘template static std::__result_of_success()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = ducc0::detail_nufft::Nufft3::exec(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&, bool)::&; _Args = {ducc0::detail_threading::Scheduler&}]’ 2780 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:2791:60: required from ‘struct std::__result_of_impl::exec(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&, bool)::&, ducc0::detail_threading::Scheduler&>’ 2791 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/15/bits/std_function.h:350:9: recursively required by substitution of ‘template struct std::__is_invocable_impl<_Result, _Ret, true, std::__void_t > [with _Result = std::__invoke_result::exec(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&, bool)::&, ducc0::detail_threading::Scheduler&>; _Ret = void]’ 350 | struct _Callable | ^~~~~~~~~ /usr/include/c++/15/bits/std_function.h:350:9: required from ‘struct std::function::_Callable::exec(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&, bool)::, ducc0::detail_nufft::Nufft3::exec(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&, bool)::, std::__invoke_result::exec(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&, bool)::&, ducc0::detail_threading::Scheduler&> >’ /usr/include/c++/15/bits/std_function.h:355:41: required by substitution of ‘template template using std::function<_Res(_ArgTypes ...)>::_Requires = std::__enable_if_t<((bool)_Cond::value), _Tp> [with _Cond = std::function::_Callable::exec(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&, bool)::, ducc0::detail_nufft::Nufft3::exec(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&, bool)::, std::__invoke_result::exec(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&, bool)::&, ducc0::detail_threading::Scheduler&> >; _Tp = void; _Res = void; _ArgTypes = {ducc0::detail_threading::Scheduler&}]’ 355 | using _Requires = __enable_if_t<_Cond::value, _Tp>; | ^~~~~ /usr/include/c++/15/bits/std_function.h:436:9: required by substitution of ‘template std::function::function(_Functor&&) [with _Functor = ducc0::detail_nufft::Nufft3::exec(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&, bool)::; _Constraints = ]’ 436 | typename _Constraints = _Requires<_Callable<_Functor>>> | ^~~~~~~~ ./src/ducc0/nufft/nufft.h:669:17: required from ‘void ducc0::detail_nufft::Nufft3::exec(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&, bool) [with Tcalc = double; Tacc = double; Tpoints = double; Tcoord = double]’ 669 | execStatic(points_in.shape(0), nthreads, 0, [&](auto &sched) | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 670 | { | ~ 671 | while (auto rng=sched.getNext()) for (auto i=rng.lo; i(points_in,{{i},{}}), subarray<1>(points_out,{{i},{}}), forward); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:214:39: required from here 214 | return Py2_nu2nu(points_in, coord_in, coord_out, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 215 | points_out, verbosity, sigma_min, sigma_max); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:672:22: error: call of ‘(ducc0::detail_mav::vmav, 1>) (long unsigned int&)’ is ambiguous 672 | points_in_2(i) = points_in(i) * (forward ? conj(fact_in(i)) : fact_in(i)); | ~~~~~~~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/nufft.h:672:66: error: call of ‘(ducc0::detail_mav::vmav, 1>) (long unsigned int&)’ is ambiguous 672 | points_in_2(i) = points_in(i) * (forward ? conj(fact_in(i)) : fact_in(i)); | ~~~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/nufft.h:672:80: error: call of ‘(ducc0::detail_mav::vmav, 1>) (long unsigned int&)’ is ambiguous 672 | points_in_2(i) = points_in(i) * (forward ? conj(fact_in(i)) : fact_in(i)); | ~~~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/nufft.h: In instantiation of ‘ducc0::detail_nufft::Nufft3::exec(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&, bool):: [with auto:905 = ducc0::detail_threading::Scheduler]’: /usr/include/c++/15/type_traits:2780:26: required by substitution of ‘template static std::__result_of_success()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = ducc0::detail_nufft::Nufft3::exec(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&, bool)::&; _Args = {ducc0::detail_threading::Scheduler&}]’ 2780 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:2791:60: required from ‘struct std::__result_of_impl::exec(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&, bool)::&, ducc0::detail_threading::Scheduler&>’ 2791 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/15/bits/std_function.h:350:9: recursively required by substitution of ‘template struct std::__is_invocable_impl<_Result, _Ret, true, std::__void_t > [with _Result = std::__invoke_result::exec(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&, bool)::&, ducc0::detail_threading::Scheduler&>; _Ret = void]’ 350 | struct _Callable | ^~~~~~~~~ /usr/include/c++/15/bits/std_function.h:350:9: required from ‘struct std::function::_Callable::exec(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&, bool)::, ducc0::detail_nufft::Nufft3::exec(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&, bool)::, std::__invoke_result::exec(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&, bool)::&, ducc0::detail_threading::Scheduler&> >’ /usr/include/c++/15/bits/std_function.h:355:41: required by substitution of ‘template template using std::function<_Res(_ArgTypes ...)>::_Requires = std::__enable_if_t<((bool)_Cond::value), _Tp> [with _Cond = std::function::_Callable::exec(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&, bool)::, ducc0::detail_nufft::Nufft3::exec(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&, bool)::, std::__invoke_result::exec(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&, bool)::&, ducc0::detail_threading::Scheduler&> >; _Tp = void; _Res = void; _ArgTypes = {ducc0::detail_threading::Scheduler&}]’ 355 | using _Requires = __enable_if_t<_Cond::value, _Tp>; | ^~~~~ /usr/include/c++/15/bits/std_function.h:436:9: required by substitution of ‘template std::function::function(_Functor&&) [with _Functor = ducc0::detail_nufft::Nufft3::exec(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&, bool)::; _Constraints = ]’ 436 | typename _Constraints = _Requires<_Callable<_Functor>>> | ^~~~~~~~ ./src/ducc0/nufft/nufft.h:678:17: required from ‘void ducc0::detail_nufft::Nufft3::exec(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&, bool) [with Tcalc = double; Tacc = double; Tpoints = double; Tcoord = double]’ 678 | execStatic(points_out.shape(0), nthreads, 0, [&](auto &sched) | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 679 | { | ~ 680 | while (auto rng=sched.getNext()) for (auto i=rng.lo; i(points_in,{{i},{}}), subarray<1>(points_out,{{i},{}}), forward); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:214:39: required from here 214 | return Py2_nu2nu(points_in, coord_in, coord_out, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 215 | points_out, verbosity, sigma_min, sigma_max); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:681:21: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (long unsigned int&)’ is ambiguous 681 | points_out(i) *= forward ? conj(fact_out(i)) : fact_out(i); | ~~~~~~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/nufft.h:681:51: error: call of ‘(ducc0::detail_mav::vmav, 1>) (long unsigned int&)’ is ambiguous 681 | points_out(i) *= forward ? conj(fact_out(i)) : fact_out(i); | ~~~~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/nufft.h:681:66: error: call of ‘(ducc0::detail_mav::vmav, 1>) (long unsigned int&)’ is ambiguous 681 | points_out(i) *= forward ? conj(fact_out(i)) : fact_out(i); | ~~~~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/nufft.h: In instantiation of ‘ducc0::detail_nufft::nu2nu(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav, 1>&, bool, double, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, size_t, double, double):: [with auto:906 = ducc0::detail_threading::Scheduler]’: /usr/include/c++/15/type_traits:2780:26: required by substitution of ‘template static std::__result_of_success()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = ducc0::detail_nufft::nu2nu(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav, 1>&, bool, double, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, size_t, double, double)::&; _Args = {ducc0::detail_threading::Scheduler&}]’ 2780 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:2791:60: required from ‘struct std::__result_of_impl(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav, 1>&, bool, double, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, size_t, double, double)::&, ducc0::detail_threading::Scheduler&>’ 2791 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/15/bits/std_function.h:350:9: recursively required by substitution of ‘template struct std::__is_invocable_impl<_Result, _Ret, true, std::__void_t > [with _Result = std::__invoke_result(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav, 1>&, bool, double, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, size_t, double, double)::&, ducc0::detail_threading::Scheduler&>; _Ret = void]’ 350 | struct _Callable | ^~~~~~~~~ /usr/include/c++/15/bits/std_function.h:350:9: required from ‘struct std::function::_Callable(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav, 1>&, bool, double, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, size_t, double, double)::, ducc0::detail_nufft::nu2nu(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav, 1>&, bool, double, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, size_t, double, double)::, std::__invoke_result(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav, 1>&, bool, double, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, size_t, double, double)::&, ducc0::detail_threading::Scheduler&> >’ /usr/include/c++/15/bits/std_function.h:355:41: required by substitution of ‘template template using std::function<_Res(_ArgTypes ...)>::_Requires = std::__enable_if_t<((bool)_Cond::value), _Tp> [with _Cond = std::function::_Callable(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav, 1>&, bool, double, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, size_t, double, double)::, ducc0::detail_nufft::nu2nu(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav, 1>&, bool, double, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, size_t, double, double)::, std::__invoke_result(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav, 1>&, bool, double, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, size_t, double, double)::&, ducc0::detail_threading::Scheduler&> >; _Tp = void; _Res = void; _ArgTypes = {ducc0::detail_threading::Scheduler&}]’ 355 | using _Requires = __enable_if_t<_Cond::value, _Tp>; | ^~~~~ /usr/include/c++/15/bits/std_function.h:436:9: required by substitution of ‘template std::function::function(_Functor&&) [with _Functor = ducc0::detail_nufft::nu2nu(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav, 1>&, bool, double, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, size_t, double, double)::; _Constraints = ]’ 436 | typename _Constraints = _Requires<_Callable<_Functor>>> | ^~~~~~~~ ./src/ducc0/nufft/nufft.h:736:13: required from ‘void ducc0::detail_nufft::nu2nu(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav, 1>&, bool, double, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, size_t, double, double) [with Tcalc = float; Tacc = float; Tpoints = float; Tcoord = double; size_t = long unsigned int]’ 736 | execStatic(points_in.shape(0), nthreads, 0, [&,mid_in=mid_in,mid_out=mid_out](auto &sched) | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 737 | { | ~ 738 | while (auto rng=sched.getNext()) for (auto i=rng.lo; i(polar(1., psign*phase)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 744 | } | ~ 745 | }); | ~~ ./python/nufft_pymod.cc:193:24: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_nu2nu(const pybind11::array&, const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double) [with Tpoints = float; Tcoord = double; size_t = long unsigned int]’ 193 | nu2nu(coord_in,subarray<1>(points_in,{{0},{}}),forward, | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 194 | epsilon,nthreads,coord_out,subarray<1>(points_out,{{0},{}}),verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 195 | sigma_min,sigma_max); | ~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:217:38: required from here 217 | return Py2_nu2nu(points_in, coord_in, coord_out, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 218 | points_out, verbosity, sigma_min, sigma_max); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:743:18: error: call of ‘(ducc0::detail_mav::vmav, 1>) (long unsigned int&)’ is ambiguous 743 | points_in_2(i) = points_in(i)*complex(polar(1., psign*phase)); | ~~~~~~~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/nufft.h: In instantiation of ‘ducc0::detail_nufft::nu2nu(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav, 1>&, bool, double, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, size_t, double, double):: [with auto:907 = ducc0::detail_threading::Scheduler]’: /usr/include/c++/15/type_traits:2780:26: required by substitution of ‘template static std::__result_of_success()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = ducc0::detail_nufft::nu2nu(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav, 1>&, bool, double, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, size_t, double, double)::&; _Args = {ducc0::detail_threading::Scheduler&}]’ 2780 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:2791:60: required from ‘struct std::__result_of_impl(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav, 1>&, bool, double, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, size_t, double, double)::&, ducc0::detail_threading::Scheduler&>’ 2791 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/15/bits/std_function.h:350:9: recursively required by substitution of ‘template struct std::__is_invocable_impl<_Result, _Ret, true, std::__void_t > [with _Result = std::__invoke_result(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav, 1>&, bool, double, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, size_t, double, double)::&, ducc0::detail_threading::Scheduler&>; _Ret = void]’ 350 | struct _Callable | ^~~~~~~~~ /usr/include/c++/15/bits/std_function.h:350:9: required from ‘struct std::function::_Callable(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav, 1>&, bool, double, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, size_t, double, double)::, ducc0::detail_nufft::nu2nu(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav, 1>&, bool, double, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, size_t, double, double)::, std::__invoke_result(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav, 1>&, bool, double, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, size_t, double, double)::&, ducc0::detail_threading::Scheduler&> >’ /usr/include/c++/15/bits/std_function.h:355:41: required by substitution of ‘template template using std::function<_Res(_ArgTypes ...)>::_Requires = std::__enable_if_t<((bool)_Cond::value), _Tp> [with _Cond = std::function::_Callable(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav, 1>&, bool, double, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, size_t, double, double)::, ducc0::detail_nufft::nu2nu(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav, 1>&, bool, double, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, size_t, double, double)::, std::__invoke_result(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav, 1>&, bool, double, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, size_t, double, double)::&, ducc0::detail_threading::Scheduler&> >; _Tp = void; _Res = void; _ArgTypes = {ducc0::detail_threading::Scheduler&}]’ 355 | using _Requires = __enable_if_t<_Cond::value, _Tp>; | ^~~~~ /usr/include/c++/15/bits/std_function.h:436:9: required by substitution of ‘template std::function::function(_Functor&&) [with _Functor = ducc0::detail_nufft::nu2nu(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav, 1>&, bool, double, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, size_t, double, double)::; _Constraints = ]’ 436 | typename _Constraints = _Requires<_Callable<_Functor>>> | ^~~~~~~~ ./src/ducc0/nufft/nufft.h:768:13: required from ‘void ducc0::detail_nufft::nu2nu(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav, 1>&, bool, double, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, size_t, double, double) [with Tcalc = float; Tacc = float; Tpoints = float; Tcoord = double; size_t = long unsigned int]’ 768 | execStatic(points_out.shape(0), nthreads, 0, [&,mid_in=mid_in,mid_out=mid_out,dims=dims](auto &sched) | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 769 | { | ~ 770 | while (auto rng=sched.getNext()) for (auto i=rng.lo; i(Tpoints((coord_out(i,d)-mid_out[d])*gamma[d]/dims[d])); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 776 | phase += (coord_out(i,d)-mid_out[d])*mid_in[d]; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 777 | } | ~ 778 | points_out(i) *= complex(polar(phihat, psign*phase)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 779 | } | ~ 780 | }); | ~~ ./python/nufft_pymod.cc:193:24: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_nu2nu(const pybind11::array&, const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double) [with Tpoints = float; Tcoord = double; size_t = long unsigned int]’ 193 | nu2nu(coord_in,subarray<1>(points_in,{{0},{}}),forward, | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 194 | epsilon,nthreads,coord_out,subarray<1>(points_out,{{0},{}}),verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 195 | sigma_min,sigma_max); | ~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:217:38: required from here 217 | return Py2_nu2nu(points_in, coord_in, coord_out, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 218 | points_out, verbosity, sigma_min, sigma_max); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:778:17: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (long unsigned int&)’ is ambiguous 778 | points_out(i) *= complex(polar(phihat, psign*phase)); | ~~~~~~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/nufft.h: In instantiation of ‘ducc0::detail_nufft::Nufft3::Nufft3(const ducc0::detail_mav::cmav&, double, size_t, const ducc0::detail_mav::cmav&, size_t, double, double):: [with auto:902 = ducc0::detail_threading::Scheduler]’: /usr/include/c++/15/type_traits:2780:26: required by substitution of ‘template static std::__result_of_success()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = ducc0::detail_nufft::Nufft3::Nufft3(const ducc0::detail_mav::cmav&, double, size_t, const ducc0::detail_mav::cmav&, size_t, double, double)::&; _Args = {ducc0::detail_threading::Scheduler&}]’ 2780 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:2791:60: required from ‘struct std::__result_of_impl::Nufft3(const ducc0::detail_mav::cmav&, double, size_t, const ducc0::detail_mav::cmav&, size_t, double, double)::&, ducc0::detail_threading::Scheduler&>’ 2791 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/15/bits/std_function.h:350:9: recursively required by substitution of ‘template struct std::__is_invocable_impl<_Result, _Ret, true, std::__void_t > [with _Result = std::__invoke_result::Nufft3(const ducc0::detail_mav::cmav&, double, size_t, const ducc0::detail_mav::cmav&, size_t, double, double)::&, ducc0::detail_threading::Scheduler&>; _Ret = void]’ 350 | struct _Callable | ^~~~~~~~~ /usr/include/c++/15/bits/std_function.h:350:9: required from ‘struct std::function::_Callable::Nufft3(const ducc0::detail_mav::cmav&, double, size_t, const ducc0::detail_mav::cmav&, size_t, double, double)::, ducc0::detail_nufft::Nufft3::Nufft3(const ducc0::detail_mav::cmav&, double, size_t, const ducc0::detail_mav::cmav&, size_t, double, double)::, std::__invoke_result::Nufft3(const ducc0::detail_mav::cmav&, double, size_t, const ducc0::detail_mav::cmav&, size_t, double, double)::&, ducc0::detail_threading::Scheduler&> >’ /usr/include/c++/15/bits/std_function.h:355:41: required by substitution of ‘template template using std::function<_Res(_ArgTypes ...)>::_Requires = std::__enable_if_t<((bool)_Cond::value), _Tp> [with _Cond = std::function::_Callable::Nufft3(const ducc0::detail_mav::cmav&, double, size_t, const ducc0::detail_mav::cmav&, size_t, double, double)::, ducc0::detail_nufft::Nufft3::Nufft3(const ducc0::detail_mav::cmav&, double, size_t, const ducc0::detail_mav::cmav&, size_t, double, double)::, std::__invoke_result::Nufft3(const ducc0::detail_mav::cmav&, double, size_t, const ducc0::detail_mav::cmav&, size_t, double, double)::&, ducc0::detail_threading::Scheduler&> >; _Tp = void; _Res = void; _ArgTypes = {ducc0::detail_threading::Scheduler&}]’ 355 | using _Requires = __enable_if_t<_Cond::value, _Tp>; | ^~~~~ /usr/include/c++/15/bits/std_function.h:436:9: required by substitution of ‘template std::function::function(_Functor&&) [with _Functor = ducc0::detail_nufft::Nufft3::Nufft3(const ducc0::detail_mav::cmav&, double, size_t, const ducc0::detail_mav::cmav&, size_t, double, double)::; _Constraints = ]’ 436 | typename _Constraints = _Requires<_Callable<_Functor>>> | ^~~~~~~~ ./src/ducc0/nufft/nufft.h:613:17: required from ‘ducc0::detail_nufft::Nufft3::Nufft3(const ducc0::detail_mav::cmav&, double, size_t, const ducc0::detail_mav::cmav&, size_t, double, double) [with Tcalc = float; Tacc = float; Tpoints = float; Tcoord = double; size_t = long unsigned int]’ 613 | execStatic(coord_in.shape(0), nthreads, 0, [&,mid_in=mid_in,mid_out=mid_out](auto &sched) | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 614 | { | ~ 615 | while (auto rng=sched.getNext()) for (auto i=rng.lo; i(polar(1., phase)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 623 | } | ~ 624 | }); | ~~ ./python/nufft_pymod.cc:198:47: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_nu2nu(const pybind11::array&, const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double) [with Tpoints = float; Tcoord = double; size_t = long unsigned int]’ 198 | Nufft3 nufft(coord_in, epsilon, nthreads, | ^~~~~ ./python/nufft_pymod.cc:217:38: required from here 217 | return Py2_nu2nu(points_in, coord_in, coord_out, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 218 | points_out, verbosity, sigma_min, sigma_max); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:622:18: error: call of ‘(ducc0::detail_mav::vmav, 1>) (long unsigned int&)’ is ambiguous 622 | fact_in(i) = complex(polar(1., phase)); | ~~~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/nufft.h: In instantiation of ‘ducc0::detail_nufft::Nufft3::Nufft3(const ducc0::detail_mav::cmav&, double, size_t, const ducc0::detail_mav::cmav&, size_t, double, double):: [with auto:903 = ducc0::detail_threading::Scheduler]’: /usr/include/c++/15/type_traits:2780:26: required by substitution of ‘template static std::__result_of_success()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = ducc0::detail_nufft::Nufft3::Nufft3(const ducc0::detail_mav::cmav&, double, size_t, const ducc0::detail_mav::cmav&, size_t, double, double)::&; _Args = {ducc0::detail_threading::Scheduler&}]’ 2780 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:2791:60: required from ‘struct std::__result_of_impl::Nufft3(const ducc0::detail_mav::cmav&, double, size_t, const ducc0::detail_mav::cmav&, size_t, double, double)::&, ducc0::detail_threading::Scheduler&>’ 2791 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/15/bits/std_function.h:350:9: recursively required by substitution of ‘template struct std::__is_invocable_impl<_Result, _Ret, true, std::__void_t > [with _Result = std::__invoke_result::Nufft3(const ducc0::detail_mav::cmav&, double, size_t, const ducc0::detail_mav::cmav&, size_t, double, double)::&, ducc0::detail_threading::Scheduler&>; _Ret = void]’ 350 | struct _Callable | ^~~~~~~~~ /usr/include/c++/15/bits/std_function.h:350:9: required from ‘struct std::function::_Callable::Nufft3(const ducc0::detail_mav::cmav&, double, size_t, const ducc0::detail_mav::cmav&, size_t, double, double)::, ducc0::detail_nufft::Nufft3::Nufft3(const ducc0::detail_mav::cmav&, double, size_t, const ducc0::detail_mav::cmav&, size_t, double, double)::, std::__invoke_result::Nufft3(const ducc0::detail_mav::cmav&, double, size_t, const ducc0::detail_mav::cmav&, size_t, double, double)::&, ducc0::detail_threading::Scheduler&> >’ /usr/include/c++/15/bits/std_function.h:355:41: required by substitution of ‘template template using std::function<_Res(_ArgTypes ...)>::_Requires = std::__enable_if_t<((bool)_Cond::value), _Tp> [with _Cond = std::function::_Callable::Nufft3(const ducc0::detail_mav::cmav&, double, size_t, const ducc0::detail_mav::cmav&, size_t, double, double)::, ducc0::detail_nufft::Nufft3::Nufft3(const ducc0::detail_mav::cmav&, double, size_t, const ducc0::detail_mav::cmav&, size_t, double, double)::, std::__invoke_result::Nufft3(const ducc0::detail_mav::cmav&, double, size_t, const ducc0::detail_mav::cmav&, size_t, double, double)::&, ducc0::detail_threading::Scheduler&> >; _Tp = void; _Res = void; _ArgTypes = {ducc0::detail_threading::Scheduler&}]’ 355 | using _Requires = __enable_if_t<_Cond::value, _Tp>; | ^~~~~ /usr/include/c++/15/bits/std_function.h:436:9: required by substitution of ‘template std::function::function(_Functor&&) [with _Functor = ducc0::detail_nufft::Nufft3::Nufft3(const ducc0::detail_mav::cmav&, double, size_t, const ducc0::detail_mav::cmav&, size_t, double, double)::; _Constraints = ]’ 436 | typename _Constraints = _Requires<_Callable<_Functor>>> | ^~~~~~~~ ./src/ducc0/nufft/nufft.h:642:17: required from ‘ducc0::detail_nufft::Nufft3::Nufft3(const ducc0::detail_mav::cmav&, double, size_t, const ducc0::detail_mav::cmav&, size_t, double, double) [with Tcalc = float; Tacc = float; Tpoints = float; Tcoord = double; size_t = long unsigned int]’ 642 | execStatic(coord_out.shape(0), nthreads, 0, [&,mid_in=mid_in,mid_out=mid_out](auto &sched) | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 643 | { | ~ 644 | while (auto rng=sched.getNext()) for (auto i=rng.lo; i(Tpoints((coord_out(i,d)-mid_out[d])*gamma[d]/dims[d])); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 650 | phase += (coord_out(i,d)-mid_out[d])*mid_in[d]; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 651 | } | ~ 652 | fact_out(i) = complex(polar(phihat, phase)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 653 | } | ~ 654 | }); | ~~ ./python/nufft_pymod.cc:198:47: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_nu2nu(const pybind11::array&, const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double) [with Tpoints = float; Tcoord = double; size_t = long unsigned int]’ 198 | Nufft3 nufft(coord_in, epsilon, nthreads, | ^~~~~ ./python/nufft_pymod.cc:217:38: required from here 217 | return Py2_nu2nu(points_in, coord_in, coord_out, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 218 | points_out, verbosity, sigma_min, sigma_max); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:652:19: error: call of ‘(ducc0::detail_mav::vmav, 1>) (long unsigned int&)’ is ambiguous 652 | fact_out(i) = complex(polar(phihat, phase)); | ~~~~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/nufft.h: In instantiation of ‘ducc0::detail_nufft::Nufft3::exec(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&, bool):: [with auto:904 = ducc0::detail_threading::Scheduler]’: /usr/include/c++/15/type_traits:2780:26: required by substitution of ‘template static std::__result_of_success()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = ducc0::detail_nufft::Nufft3::exec(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&, bool)::&; _Args = {ducc0::detail_threading::Scheduler&}]’ 2780 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:2791:60: required from ‘struct std::__result_of_impl::exec(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&, bool)::&, ducc0::detail_threading::Scheduler&>’ 2791 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/15/bits/std_function.h:350:9: recursively required by substitution of ‘template struct std::__is_invocable_impl<_Result, _Ret, true, std::__void_t > [with _Result = std::__invoke_result::exec(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&, bool)::&, ducc0::detail_threading::Scheduler&>; _Ret = void]’ 350 | struct _Callable | ^~~~~~~~~ /usr/include/c++/15/bits/std_function.h:350:9: required from ‘struct std::function::_Callable::exec(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&, bool)::, ducc0::detail_nufft::Nufft3::exec(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&, bool)::, std::__invoke_result::exec(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&, bool)::&, ducc0::detail_threading::Scheduler&> >’ /usr/include/c++/15/bits/std_function.h:355:41: required by substitution of ‘template template using std::function<_Res(_ArgTypes ...)>::_Requires = std::__enable_if_t<((bool)_Cond::value), _Tp> [with _Cond = std::function::_Callable::exec(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&, bool)::, ducc0::detail_nufft::Nufft3::exec(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&, bool)::, std::__invoke_result::exec(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&, bool)::&, ducc0::detail_threading::Scheduler&> >; _Tp = void; _Res = void; _ArgTypes = {ducc0::detail_threading::Scheduler&}]’ 355 | using _Requires = __enable_if_t<_Cond::value, _Tp>; | ^~~~~ /usr/include/c++/15/bits/std_function.h:436:9: required by substitution of ‘template std::function::function(_Functor&&) [with _Functor = ducc0::detail_nufft::Nufft3::exec(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&, bool)::; _Constraints = ]’ 436 | typename _Constraints = _Requires<_Callable<_Functor>>> | ^~~~~~~~ ./src/ducc0/nufft/nufft.h:669:17: required from ‘void ducc0::detail_nufft::Nufft3::exec(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&, bool) [with Tcalc = float; Tacc = float; Tpoints = float; Tcoord = double]’ 669 | execStatic(points_in.shape(0), nthreads, 0, [&](auto &sched) | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 670 | { | ~ 671 | while (auto rng=sched.getNext()) for (auto i=rng.lo; i(points_in,{{i},{}}), subarray<1>(points_out,{{i},{}}), forward); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:217:38: required from here 217 | return Py2_nu2nu(points_in, coord_in, coord_out, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 218 | points_out, verbosity, sigma_min, sigma_max); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:672:22: error: call of ‘(ducc0::detail_mav::vmav, 1>) (long unsigned int&)’ is ambiguous 672 | points_in_2(i) = points_in(i) * (forward ? conj(fact_in(i)) : fact_in(i)); | ~~~~~~~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/nufft.h:672:66: error: call of ‘(ducc0::detail_mav::vmav, 1>) (long unsigned int&)’ is ambiguous 672 | points_in_2(i) = points_in(i) * (forward ? conj(fact_in(i)) : fact_in(i)); | ~~~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/nufft.h:672:80: error: call of ‘(ducc0::detail_mav::vmav, 1>) (long unsigned int&)’ is ambiguous 672 | points_in_2(i) = points_in(i) * (forward ? conj(fact_in(i)) : fact_in(i)); | ~~~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/nufft.h: In instantiation of ‘ducc0::detail_nufft::Nufft3::exec(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&, bool):: [with auto:905 = ducc0::detail_threading::Scheduler]’: /usr/include/c++/15/type_traits:2780:26: required by substitution of ‘template static std::__result_of_success()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = ducc0::detail_nufft::Nufft3::exec(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&, bool)::&; _Args = {ducc0::detail_threading::Scheduler&}]’ 2780 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:2791:60: required from ‘struct std::__result_of_impl::exec(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&, bool)::&, ducc0::detail_threading::Scheduler&>’ 2791 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/15/bits/std_function.h:350:9: recursively required by substitution of ‘template struct std::__is_invocable_impl<_Result, _Ret, true, std::__void_t > [with _Result = std::__invoke_result::exec(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&, bool)::&, ducc0::detail_threading::Scheduler&>; _Ret = void]’ 350 | struct _Callable | ^~~~~~~~~ /usr/include/c++/15/bits/std_function.h:350:9: required from ‘struct std::function::_Callable::exec(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&, bool)::, ducc0::detail_nufft::Nufft3::exec(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&, bool)::, std::__invoke_result::exec(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&, bool)::&, ducc0::detail_threading::Scheduler&> >’ /usr/include/c++/15/bits/std_function.h:355:41: required by substitution of ‘template template using std::function<_Res(_ArgTypes ...)>::_Requires = std::__enable_if_t<((bool)_Cond::value), _Tp> [with _Cond = std::function::_Callable::exec(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&, bool)::, ducc0::detail_nufft::Nufft3::exec(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&, bool)::, std::__invoke_result::exec(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&, bool)::&, ducc0::detail_threading::Scheduler&> >; _Tp = void; _Res = void; _ArgTypes = {ducc0::detail_threading::Scheduler&}]’ 355 | using _Requires = __enable_if_t<_Cond::value, _Tp>; | ^~~~~ /usr/include/c++/15/bits/std_function.h:436:9: required by substitution of ‘template std::function::function(_Functor&&) [with _Functor = ducc0::detail_nufft::Nufft3::exec(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&, bool)::; _Constraints = ]’ 436 | typename _Constraints = _Requires<_Callable<_Functor>>> | ^~~~~~~~ ./src/ducc0/nufft/nufft.h:678:17: required from ‘void ducc0::detail_nufft::Nufft3::exec(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&, bool) [with Tcalc = float; Tacc = float; Tpoints = float; Tcoord = double]’ 678 | execStatic(points_out.shape(0), nthreads, 0, [&](auto &sched) | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 679 | { | ~ 680 | while (auto rng=sched.getNext()) for (auto i=rng.lo; i(points_in,{{i},{}}), subarray<1>(points_out,{{i},{}}), forward); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:217:38: required from here 217 | return Py2_nu2nu(points_in, coord_in, coord_out, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 218 | points_out, verbosity, sigma_min, sigma_max); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:681:21: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (long unsigned int&)’ is ambiguous 681 | points_out(i) *= forward ? conj(fact_out(i)) : fact_out(i); | ~~~~~~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/nufft.h:681:51: error: call of ‘(ducc0::detail_mav::vmav, 1>) (long unsigned int&)’ is ambiguous 681 | points_out(i) *= forward ? conj(fact_out(i)) : fact_out(i); | ~~~~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/nufft.h:681:66: error: call of ‘(ducc0::detail_mav::vmav, 1>) (long unsigned int&)’ is ambiguous 681 | points_out(i) *= forward ? conj(fact_out(i)) : fact_out(i); | ~~~~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/nufft.h: In instantiation of ‘ducc0::detail_nufft::nu2nu(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav, 1>&, bool, double, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, size_t, double, double):: [with auto:906 = ducc0::detail_threading::Scheduler]’: /usr/include/c++/15/type_traits:2780:26: required by substitution of ‘template static std::__result_of_success()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = ducc0::detail_nufft::nu2nu(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav, 1>&, bool, double, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, size_t, double, double)::&; _Args = {ducc0::detail_threading::Scheduler&}]’ 2780 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:2791:60: required from ‘struct std::__result_of_impl(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav, 1>&, bool, double, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, size_t, double, double)::&, ducc0::detail_threading::Scheduler&>’ 2791 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/15/bits/std_function.h:350:9: recursively required by substitution of ‘template struct std::__is_invocable_impl<_Result, _Ret, true, std::__void_t > [with _Result = std::__invoke_result(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav, 1>&, bool, double, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, size_t, double, double)::&, ducc0::detail_threading::Scheduler&>; _Ret = void]’ 350 | struct _Callable | ^~~~~~~~~ /usr/include/c++/15/bits/std_function.h:350:9: required from ‘struct std::function::_Callable(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav, 1>&, bool, double, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, size_t, double, double)::, ducc0::detail_nufft::nu2nu(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav, 1>&, bool, double, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, size_t, double, double)::, std::__invoke_result(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav, 1>&, bool, double, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, size_t, double, double)::&, ducc0::detail_threading::Scheduler&> >’ /usr/include/c++/15/bits/std_function.h:355:41: required by substitution of ‘template template using std::function<_Res(_ArgTypes ...)>::_Requires = std::__enable_if_t<((bool)_Cond::value), _Tp> [with _Cond = std::function::_Callable(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav, 1>&, bool, double, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, size_t, double, double)::, ducc0::detail_nufft::nu2nu(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav, 1>&, bool, double, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, size_t, double, double)::, std::__invoke_result(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav, 1>&, bool, double, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, size_t, double, double)::&, ducc0::detail_threading::Scheduler&> >; _Tp = void; _Res = void; _ArgTypes = {ducc0::detail_threading::Scheduler&}]’ 355 | using _Requires = __enable_if_t<_Cond::value, _Tp>; | ^~~~~ /usr/include/c++/15/bits/std_function.h:436:9: required by substitution of ‘template std::function::function(_Functor&&) [with _Functor = ducc0::detail_nufft::nu2nu(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav, 1>&, bool, double, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, size_t, double, double)::; _Constraints = ]’ 436 | typename _Constraints = _Requires<_Callable<_Functor>>> | ^~~~~~~~ ./src/ducc0/nufft/nufft.h:736:13: required from ‘void ducc0::detail_nufft::nu2nu(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav, 1>&, bool, double, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, size_t, double, double) [with Tcalc = double; Tacc = double; Tpoints = double; Tcoord = float; size_t = long unsigned int]’ 736 | execStatic(points_in.shape(0), nthreads, 0, [&,mid_in=mid_in,mid_out=mid_out](auto &sched) | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 737 | { | ~ 738 | while (auto rng=sched.getNext()) for (auto i=rng.lo; i(polar(1., psign*phase)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 744 | } | ~ 745 | }); | ~~ ./python/nufft_pymod.cc:193:24: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_nu2nu(const pybind11::array&, const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double) [with Tpoints = double; Tcoord = float; size_t = long unsigned int]’ 193 | nu2nu(coord_in,subarray<1>(points_in,{{0},{}}),forward, | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 194 | epsilon,nthreads,coord_out,subarray<1>(points_out,{{0},{}}),verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 195 | sigma_min,sigma_max); | ~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:223:38: required from here 223 | return Py2_nu2nu(points_in, coord_in, coord_out, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 224 | points_out, verbosity, sigma_min, sigma_max); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:743:18: error: call of ‘(ducc0::detail_mav::vmav, 1>) (long unsigned int&)’ is ambiguous 743 | points_in_2(i) = points_in(i)*complex(polar(1., psign*phase)); | ~~~~~~~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/nufft.h: In instantiation of ‘ducc0::detail_nufft::nu2nu(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav, 1>&, bool, double, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, size_t, double, double):: [with auto:907 = ducc0::detail_threading::Scheduler]’: /usr/include/c++/15/type_traits:2780:26: required by substitution of ‘template static std::__result_of_success()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = ducc0::detail_nufft::nu2nu(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav, 1>&, bool, double, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, size_t, double, double)::&; _Args = {ducc0::detail_threading::Scheduler&}]’ 2780 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:2791:60: required from ‘struct std::__result_of_impl(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav, 1>&, bool, double, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, size_t, double, double)::&, ducc0::detail_threading::Scheduler&>’ 2791 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/15/bits/std_function.h:350:9: recursively required by substitution of ‘template struct std::__is_invocable_impl<_Result, _Ret, true, std::__void_t > [with _Result = std::__invoke_result(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav, 1>&, bool, double, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, size_t, double, double)::&, ducc0::detail_threading::Scheduler&>; _Ret = void]’ 350 | struct _Callable | ^~~~~~~~~ /usr/include/c++/15/bits/std_function.h:350:9: required from ‘struct std::function::_Callable(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav, 1>&, bool, double, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, size_t, double, double)::, ducc0::detail_nufft::nu2nu(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav, 1>&, bool, double, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, size_t, double, double)::, std::__invoke_result(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav, 1>&, bool, double, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, size_t, double, double)::&, ducc0::detail_threading::Scheduler&> >’ /usr/include/c++/15/bits/std_function.h:355:41: required by substitution of ‘template template using std::function<_Res(_ArgTypes ...)>::_Requires = std::__enable_if_t<((bool)_Cond::value), _Tp> [with _Cond = std::function::_Callable(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav, 1>&, bool, double, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, size_t, double, double)::, ducc0::detail_nufft::nu2nu(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav, 1>&, bool, double, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, size_t, double, double)::, std::__invoke_result(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav, 1>&, bool, double, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, size_t, double, double)::&, ducc0::detail_threading::Scheduler&> >; _Tp = void; _Res = void; _ArgTypes = {ducc0::detail_threading::Scheduler&}]’ 355 | using _Requires = __enable_if_t<_Cond::value, _Tp>; | ^~~~~ /usr/include/c++/15/bits/std_function.h:436:9: required by substitution of ‘template std::function::function(_Functor&&) [with _Functor = ducc0::detail_nufft::nu2nu(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav, 1>&, bool, double, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, size_t, double, double)::; _Constraints = ]’ 436 | typename _Constraints = _Requires<_Callable<_Functor>>> | ^~~~~~~~ ./src/ducc0/nufft/nufft.h:768:13: required from ‘void ducc0::detail_nufft::nu2nu(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav, 1>&, bool, double, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, size_t, double, double) [with Tcalc = double; Tacc = double; Tpoints = double; Tcoord = float; size_t = long unsigned int]’ 768 | execStatic(points_out.shape(0), nthreads, 0, [&,mid_in=mid_in,mid_out=mid_out,dims=dims](auto &sched) | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 769 | { | ~ 770 | while (auto rng=sched.getNext()) for (auto i=rng.lo; i(Tpoints((coord_out(i,d)-mid_out[d])*gamma[d]/dims[d])); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 776 | phase += (coord_out(i,d)-mid_out[d])*mid_in[d]; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 777 | } | ~ 778 | points_out(i) *= complex(polar(phihat, psign*phase)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 779 | } | ~ 780 | }); | ~~ ./python/nufft_pymod.cc:193:24: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_nu2nu(const pybind11::array&, const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double) [with Tpoints = double; Tcoord = float; size_t = long unsigned int]’ 193 | nu2nu(coord_in,subarray<1>(points_in,{{0},{}}),forward, | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 194 | epsilon,nthreads,coord_out,subarray<1>(points_out,{{0},{}}),verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 195 | sigma_min,sigma_max); | ~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:223:38: required from here 223 | return Py2_nu2nu(points_in, coord_in, coord_out, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 224 | points_out, verbosity, sigma_min, sigma_max); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:778:17: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (long unsigned int&)’ is ambiguous 778 | points_out(i) *= complex(polar(phihat, psign*phase)); | ~~~~~~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/nufft.h: In instantiation of ‘ducc0::detail_nufft::Nufft3::Nufft3(const ducc0::detail_mav::cmav&, double, size_t, const ducc0::detail_mav::cmav&, size_t, double, double):: [with auto:902 = ducc0::detail_threading::Scheduler]’: /usr/include/c++/15/type_traits:2780:26: required by substitution of ‘template static std::__result_of_success()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = ducc0::detail_nufft::Nufft3::Nufft3(const ducc0::detail_mav::cmav&, double, size_t, const ducc0::detail_mav::cmav&, size_t, double, double)::&; _Args = {ducc0::detail_threading::Scheduler&}]’ 2780 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:2791:60: required from ‘struct std::__result_of_impl::Nufft3(const ducc0::detail_mav::cmav&, double, size_t, const ducc0::detail_mav::cmav&, size_t, double, double)::&, ducc0::detail_threading::Scheduler&>’ 2791 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/15/bits/std_function.h:350:9: recursively required by substitution of ‘template struct std::__is_invocable_impl<_Result, _Ret, true, std::__void_t > [with _Result = std::__invoke_result::Nufft3(const ducc0::detail_mav::cmav&, double, size_t, const ducc0::detail_mav::cmav&, size_t, double, double)::&, ducc0::detail_threading::Scheduler&>; _Ret = void]’ 350 | struct _Callable | ^~~~~~~~~ /usr/include/c++/15/bits/std_function.h:350:9: required from ‘struct std::function::_Callable::Nufft3(const ducc0::detail_mav::cmav&, double, size_t, const ducc0::detail_mav::cmav&, size_t, double, double)::, ducc0::detail_nufft::Nufft3::Nufft3(const ducc0::detail_mav::cmav&, double, size_t, const ducc0::detail_mav::cmav&, size_t, double, double)::, std::__invoke_result::Nufft3(const ducc0::detail_mav::cmav&, double, size_t, const ducc0::detail_mav::cmav&, size_t, double, double)::&, ducc0::detail_threading::Scheduler&> >’ /usr/include/c++/15/bits/std_function.h:355:41: required by substitution of ‘template template using std::function<_Res(_ArgTypes ...)>::_Requires = std::__enable_if_t<((bool)_Cond::value), _Tp> [with _Cond = std::function::_Callable::Nufft3(const ducc0::detail_mav::cmav&, double, size_t, const ducc0::detail_mav::cmav&, size_t, double, double)::, ducc0::detail_nufft::Nufft3::Nufft3(const ducc0::detail_mav::cmav&, double, size_t, const ducc0::detail_mav::cmav&, size_t, double, double)::, std::__invoke_result::Nufft3(const ducc0::detail_mav::cmav&, double, size_t, const ducc0::detail_mav::cmav&, size_t, double, double)::&, ducc0::detail_threading::Scheduler&> >; _Tp = void; _Res = void; _ArgTypes = {ducc0::detail_threading::Scheduler&}]’ 355 | using _Requires = __enable_if_t<_Cond::value, _Tp>; | ^~~~~ /usr/include/c++/15/bits/std_function.h:436:9: required by substitution of ‘template std::function::function(_Functor&&) [with _Functor = ducc0::detail_nufft::Nufft3::Nufft3(const ducc0::detail_mav::cmav&, double, size_t, const ducc0::detail_mav::cmav&, size_t, double, double)::; _Constraints = ]’ 436 | typename _Constraints = _Requires<_Callable<_Functor>>> | ^~~~~~~~ ./src/ducc0/nufft/nufft.h:613:17: required from ‘ducc0::detail_nufft::Nufft3::Nufft3(const ducc0::detail_mav::cmav&, double, size_t, const ducc0::detail_mav::cmav&, size_t, double, double) [with Tcalc = double; Tacc = double; Tpoints = double; Tcoord = float; size_t = long unsigned int]’ 613 | execStatic(coord_in.shape(0), nthreads, 0, [&,mid_in=mid_in,mid_out=mid_out](auto &sched) | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 614 | { | ~ 615 | while (auto rng=sched.getNext()) for (auto i=rng.lo; i(polar(1., phase)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 623 | } | ~ 624 | }); | ~~ ./python/nufft_pymod.cc:198:47: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_nu2nu(const pybind11::array&, const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double) [with Tpoints = double; Tcoord = float; size_t = long unsigned int]’ 198 | Nufft3 nufft(coord_in, epsilon, nthreads, | ^~~~~ ./python/nufft_pymod.cc:223:38: required from here 223 | return Py2_nu2nu(points_in, coord_in, coord_out, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 224 | points_out, verbosity, sigma_min, sigma_max); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:622:18: error: call of ‘(ducc0::detail_mav::vmav, 1>) (long unsigned int&)’ is ambiguous 622 | fact_in(i) = complex(polar(1., phase)); | ~~~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/nufft.h: In instantiation of ‘ducc0::detail_nufft::Nufft3::Nufft3(const ducc0::detail_mav::cmav&, double, size_t, const ducc0::detail_mav::cmav&, size_t, double, double):: [with auto:903 = ducc0::detail_threading::Scheduler]’: /usr/include/c++/15/type_traits:2780:26: required by substitution of ‘template static std::__result_of_success()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = ducc0::detail_nufft::Nufft3::Nufft3(const ducc0::detail_mav::cmav&, double, size_t, const ducc0::detail_mav::cmav&, size_t, double, double)::&; _Args = {ducc0::detail_threading::Scheduler&}]’ 2780 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:2791:60: required from ‘struct std::__result_of_impl::Nufft3(const ducc0::detail_mav::cmav&, double, size_t, const ducc0::detail_mav::cmav&, size_t, double, double)::&, ducc0::detail_threading::Scheduler&>’ 2791 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/15/bits/std_function.h:350:9: recursively required by substitution of ‘template struct std::__is_invocable_impl<_Result, _Ret, true, std::__void_t > [with _Result = std::__invoke_result::Nufft3(const ducc0::detail_mav::cmav&, double, size_t, const ducc0::detail_mav::cmav&, size_t, double, double)::&, ducc0::detail_threading::Scheduler&>; _Ret = void]’ 350 | struct _Callable | ^~~~~~~~~ /usr/include/c++/15/bits/std_function.h:350:9: required from ‘struct std::function::_Callable::Nufft3(const ducc0::detail_mav::cmav&, double, size_t, const ducc0::detail_mav::cmav&, size_t, double, double)::, ducc0::detail_nufft::Nufft3::Nufft3(const ducc0::detail_mav::cmav&, double, size_t, const ducc0::detail_mav::cmav&, size_t, double, double)::, std::__invoke_result::Nufft3(const ducc0::detail_mav::cmav&, double, size_t, const ducc0::detail_mav::cmav&, size_t, double, double)::&, ducc0::detail_threading::Scheduler&> >’ /usr/include/c++/15/bits/std_function.h:355:41: required by substitution of ‘template template using std::function<_Res(_ArgTypes ...)>::_Requires = std::__enable_if_t<((bool)_Cond::value), _Tp> [with _Cond = std::function::_Callable::Nufft3(const ducc0::detail_mav::cmav&, double, size_t, const ducc0::detail_mav::cmav&, size_t, double, double)::, ducc0::detail_nufft::Nufft3::Nufft3(const ducc0::detail_mav::cmav&, double, size_t, const ducc0::detail_mav::cmav&, size_t, double, double)::, std::__invoke_result::Nufft3(const ducc0::detail_mav::cmav&, double, size_t, const ducc0::detail_mav::cmav&, size_t, double, double)::&, ducc0::detail_threading::Scheduler&> >; _Tp = void; _Res = void; _ArgTypes = {ducc0::detail_threading::Scheduler&}]’ 355 | using _Requires = __enable_if_t<_Cond::value, _Tp>; | ^~~~~ /usr/include/c++/15/bits/std_function.h:436:9: required by substitution of ‘template std::function::function(_Functor&&) [with _Functor = ducc0::detail_nufft::Nufft3::Nufft3(const ducc0::detail_mav::cmav&, double, size_t, const ducc0::detail_mav::cmav&, size_t, double, double)::; _Constraints = ]’ 436 | typename _Constraints = _Requires<_Callable<_Functor>>> | ^~~~~~~~ ./src/ducc0/nufft/nufft.h:642:17: required from ‘ducc0::detail_nufft::Nufft3::Nufft3(const ducc0::detail_mav::cmav&, double, size_t, const ducc0::detail_mav::cmav&, size_t, double, double) [with Tcalc = double; Tacc = double; Tpoints = double; Tcoord = float; size_t = long unsigned int]’ 642 | execStatic(coord_out.shape(0), nthreads, 0, [&,mid_in=mid_in,mid_out=mid_out](auto &sched) | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 643 | { | ~ 644 | while (auto rng=sched.getNext()) for (auto i=rng.lo; i(Tpoints((coord_out(i,d)-mid_out[d])*gamma[d]/dims[d])); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 650 | phase += (coord_out(i,d)-mid_out[d])*mid_in[d]; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 651 | } | ~ 652 | fact_out(i) = complex(polar(phihat, phase)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 653 | } | ~ 654 | }); | ~~ ./python/nufft_pymod.cc:198:47: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_nu2nu(const pybind11::array&, const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double) [with Tpoints = double; Tcoord = float; size_t = long unsigned int]’ 198 | Nufft3 nufft(coord_in, epsilon, nthreads, | ^~~~~ ./python/nufft_pymod.cc:223:38: required from here 223 | return Py2_nu2nu(points_in, coord_in, coord_out, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 224 | points_out, verbosity, sigma_min, sigma_max); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:652:19: error: call of ‘(ducc0::detail_mav::vmav, 1>) (long unsigned int&)’ is ambiguous 652 | fact_out(i) = complex(polar(phihat, phase)); | ~~~~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/nufft.h: In instantiation of ‘ducc0::detail_nufft::Nufft3::exec(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&, bool):: [with auto:904 = ducc0::detail_threading::Scheduler]’: /usr/include/c++/15/type_traits:2780:26: required by substitution of ‘template static std::__result_of_success()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = ducc0::detail_nufft::Nufft3::exec(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&, bool)::&; _Args = {ducc0::detail_threading::Scheduler&}]’ 2780 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:2791:60: required from ‘struct std::__result_of_impl::exec(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&, bool)::&, ducc0::detail_threading::Scheduler&>’ 2791 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/15/bits/std_function.h:350:9: recursively required by substitution of ‘template struct std::__is_invocable_impl<_Result, _Ret, true, std::__void_t > [with _Result = std::__invoke_result::exec(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&, bool)::&, ducc0::detail_threading::Scheduler&>; _Ret = void]’ 350 | struct _Callable | ^~~~~~~~~ /usr/include/c++/15/bits/std_function.h:350:9: required from ‘struct std::function::_Callable::exec(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&, bool)::, ducc0::detail_nufft::Nufft3::exec(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&, bool)::, std::__invoke_result::exec(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&, bool)::&, ducc0::detail_threading::Scheduler&> >’ /usr/include/c++/15/bits/std_function.h:355:41: required by substitution of ‘template template using std::function<_Res(_ArgTypes ...)>::_Requires = std::__enable_if_t<((bool)_Cond::value), _Tp> [with _Cond = std::function::_Callable::exec(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&, bool)::, ducc0::detail_nufft::Nufft3::exec(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&, bool)::, std::__invoke_result::exec(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&, bool)::&, ducc0::detail_threading::Scheduler&> >; _Tp = void; _Res = void; _ArgTypes = {ducc0::detail_threading::Scheduler&}]’ 355 | using _Requires = __enable_if_t<_Cond::value, _Tp>; | ^~~~~ /usr/include/c++/15/bits/std_function.h:436:9: required by substitution of ‘template std::function::function(_Functor&&) [with _Functor = ducc0::detail_nufft::Nufft3::exec(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&, bool)::; _Constraints = ]’ 436 | typename _Constraints = _Requires<_Callable<_Functor>>> | ^~~~~~~~ ./src/ducc0/nufft/nufft.h:669:17: required from ‘void ducc0::detail_nufft::Nufft3::exec(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&, bool) [with Tcalc = double; Tacc = double; Tpoints = double; Tcoord = float]’ 669 | execStatic(points_in.shape(0), nthreads, 0, [&](auto &sched) | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 670 | { | ~ 671 | while (auto rng=sched.getNext()) for (auto i=rng.lo; i(points_in,{{i},{}}), subarray<1>(points_out,{{i},{}}), forward); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:223:38: required from here 223 | return Py2_nu2nu(points_in, coord_in, coord_out, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 224 | points_out, verbosity, sigma_min, sigma_max); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:672:22: error: call of ‘(ducc0::detail_mav::vmav, 1>) (long unsigned int&)’ is ambiguous 672 | points_in_2(i) = points_in(i) * (forward ? conj(fact_in(i)) : fact_in(i)); | ~~~~~~~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/nufft.h:672:66: error: call of ‘(ducc0::detail_mav::vmav, 1>) (long unsigned int&)’ is ambiguous 672 | points_in_2(i) = points_in(i) * (forward ? conj(fact_in(i)) : fact_in(i)); | ~~~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/nufft.h:672:80: error: call of ‘(ducc0::detail_mav::vmav, 1>) (long unsigned int&)’ is ambiguous 672 | points_in_2(i) = points_in(i) * (forward ? conj(fact_in(i)) : fact_in(i)); | ~~~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/nufft.h: In instantiation of ‘ducc0::detail_nufft::Nufft3::exec(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&, bool):: [with auto:905 = ducc0::detail_threading::Scheduler]’: /usr/include/c++/15/type_traits:2780:26: required by substitution of ‘template static std::__result_of_success()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = ducc0::detail_nufft::Nufft3::exec(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&, bool)::&; _Args = {ducc0::detail_threading::Scheduler&}]’ 2780 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:2791:60: required from ‘struct std::__result_of_impl::exec(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&, bool)::&, ducc0::detail_threading::Scheduler&>’ 2791 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/15/bits/std_function.h:350:9: recursively required by substitution of ‘template struct std::__is_invocable_impl<_Result, _Ret, true, std::__void_t > [with _Result = std::__invoke_result::exec(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&, bool)::&, ducc0::detail_threading::Scheduler&>; _Ret = void]’ 350 | struct _Callable | ^~~~~~~~~ /usr/include/c++/15/bits/std_function.h:350:9: required from ‘struct std::function::_Callable::exec(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&, bool)::, ducc0::detail_nufft::Nufft3::exec(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&, bool)::, std::__invoke_result::exec(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&, bool)::&, ducc0::detail_threading::Scheduler&> >’ /usr/include/c++/15/bits/std_function.h:355:41: required by substitution of ‘template template using std::function<_Res(_ArgTypes ...)>::_Requires = std::__enable_if_t<((bool)_Cond::value), _Tp> [with _Cond = std::function::_Callable::exec(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&, bool)::, ducc0::detail_nufft::Nufft3::exec(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&, bool)::, std::__invoke_result::exec(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&, bool)::&, ducc0::detail_threading::Scheduler&> >; _Tp = void; _Res = void; _ArgTypes = {ducc0::detail_threading::Scheduler&}]’ 355 | using _Requires = __enable_if_t<_Cond::value, _Tp>; | ^~~~~ /usr/include/c++/15/bits/std_function.h:436:9: required by substitution of ‘template std::function::function(_Functor&&) [with _Functor = ducc0::detail_nufft::Nufft3::exec(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&, bool)::; _Constraints = ]’ 436 | typename _Constraints = _Requires<_Callable<_Functor>>> | ^~~~~~~~ ./src/ducc0/nufft/nufft.h:678:17: required from ‘void ducc0::detail_nufft::Nufft3::exec(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&, bool) [with Tcalc = double; Tacc = double; Tpoints = double; Tcoord = float]’ 678 | execStatic(points_out.shape(0), nthreads, 0, [&](auto &sched) | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 679 | { | ~ 680 | while (auto rng=sched.getNext()) for (auto i=rng.lo; i(points_in,{{i},{}}), subarray<1>(points_out,{{i},{}}), forward); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:223:38: required from here 223 | return Py2_nu2nu(points_in, coord_in, coord_out, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 224 | points_out, verbosity, sigma_min, sigma_max); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:681:21: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (long unsigned int&)’ is ambiguous 681 | points_out(i) *= forward ? conj(fact_out(i)) : fact_out(i); | ~~~~~~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/nufft.h:681:51: error: call of ‘(ducc0::detail_mav::vmav, 1>) (long unsigned int&)’ is ambiguous 681 | points_out(i) *= forward ? conj(fact_out(i)) : fact_out(i); | ~~~~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/nufft.h:681:66: error: call of ‘(ducc0::detail_mav::vmav, 1>) (long unsigned int&)’ is ambiguous 681 | points_out(i) *= forward ? conj(fact_out(i)) : fact_out(i); | ~~~~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/nufft.h: In instantiation of ‘ducc0::detail_nufft::nu2nu(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav, 1>&, bool, double, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, size_t, double, double):: [with auto:906 = ducc0::detail_threading::Scheduler]’: /usr/include/c++/15/type_traits:2780:26: required by substitution of ‘template static std::__result_of_success()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = ducc0::detail_nufft::nu2nu(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav, 1>&, bool, double, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, size_t, double, double)::&; _Args = {ducc0::detail_threading::Scheduler&}]’ 2780 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:2791:60: required from ‘struct std::__result_of_impl(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav, 1>&, bool, double, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, size_t, double, double)::&, ducc0::detail_threading::Scheduler&>’ 2791 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/15/bits/std_function.h:350:9: recursively required by substitution of ‘template struct std::__is_invocable_impl<_Result, _Ret, true, std::__void_t > [with _Result = std::__invoke_result(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav, 1>&, bool, double, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, size_t, double, double)::&, ducc0::detail_threading::Scheduler&>; _Ret = void]’ 350 | struct _Callable | ^~~~~~~~~ /usr/include/c++/15/bits/std_function.h:350:9: required from ‘struct std::function::_Callable(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav, 1>&, bool, double, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, size_t, double, double)::, ducc0::detail_nufft::nu2nu(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav, 1>&, bool, double, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, size_t, double, double)::, std::__invoke_result(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav, 1>&, bool, double, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, size_t, double, double)::&, ducc0::detail_threading::Scheduler&> >’ /usr/include/c++/15/bits/std_function.h:355:41: required by substitution of ‘template template using std::function<_Res(_ArgTypes ...)>::_Requires = std::__enable_if_t<((bool)_Cond::value), _Tp> [with _Cond = std::function::_Callable(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav, 1>&, bool, double, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, size_t, double, double)::, ducc0::detail_nufft::nu2nu(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav, 1>&, bool, double, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, size_t, double, double)::, std::__invoke_result(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav, 1>&, bool, double, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, size_t, double, double)::&, ducc0::detail_threading::Scheduler&> >; _Tp = void; _Res = void; _ArgTypes = {ducc0::detail_threading::Scheduler&}]’ 355 | using _Requires = __enable_if_t<_Cond::value, _Tp>; | ^~~~~ /usr/include/c++/15/bits/std_function.h:436:9: required by substitution of ‘template std::function::function(_Functor&&) [with _Functor = ducc0::detail_nufft::nu2nu(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav, 1>&, bool, double, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, size_t, double, double)::; _Constraints = ]’ 436 | typename _Constraints = _Requires<_Callable<_Functor>>> | ^~~~~~~~ ./src/ducc0/nufft/nufft.h:736:13: required from ‘void ducc0::detail_nufft::nu2nu(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav, 1>&, bool, double, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, size_t, double, double) [with Tcalc = float; Tacc = float; Tpoints = float; Tcoord = float; size_t = long unsigned int]’ 736 | execStatic(points_in.shape(0), nthreads, 0, [&,mid_in=mid_in,mid_out=mid_out](auto &sched) | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 737 | { | ~ 738 | while (auto rng=sched.getNext()) for (auto i=rng.lo; i(polar(1., psign*phase)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 744 | } | ~ 745 | }); | ~~ ./python/nufft_pymod.cc:193:24: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_nu2nu(const pybind11::array&, const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double) [with Tpoints = float; Tcoord = float; size_t = long unsigned int]’ 193 | nu2nu(coord_in,subarray<1>(points_in,{{0},{}}),forward, | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 194 | epsilon,nthreads,coord_out,subarray<1>(points_out,{{0},{}}),verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 195 | sigma_min,sigma_max); | ~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:226:37: required from here 226 | return Py2_nu2nu(points_in, coord_in, coord_out, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 227 | points_out, verbosity, sigma_min, sigma_max); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:743:18: error: call of ‘(ducc0::detail_mav::vmav, 1>) (long unsigned int&)’ is ambiguous 743 | points_in_2(i) = points_in(i)*complex(polar(1., psign*phase)); | ~~~~~~~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/nufft.h: In instantiation of ‘ducc0::detail_nufft::nu2nu(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav, 1>&, bool, double, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, size_t, double, double):: [with auto:907 = ducc0::detail_threading::Scheduler]’: /usr/include/c++/15/type_traits:2780:26: required by substitution of ‘template static std::__result_of_success()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = ducc0::detail_nufft::nu2nu(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav, 1>&, bool, double, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, size_t, double, double)::&; _Args = {ducc0::detail_threading::Scheduler&}]’ 2780 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:2791:60: required from ‘struct std::__result_of_impl(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav, 1>&, bool, double, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, size_t, double, double)::&, ducc0::detail_threading::Scheduler&>’ 2791 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/15/bits/std_function.h:350:9: recursively required by substitution of ‘template struct std::__is_invocable_impl<_Result, _Ret, true, std::__void_t > [with _Result = std::__invoke_result(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav, 1>&, bool, double, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, size_t, double, double)::&, ducc0::detail_threading::Scheduler&>; _Ret = void]’ 350 | struct _Callable | ^~~~~~~~~ /usr/include/c++/15/bits/std_function.h:350:9: required from ‘struct std::function::_Callable(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav, 1>&, bool, double, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, size_t, double, double)::, ducc0::detail_nufft::nu2nu(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav, 1>&, bool, double, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, size_t, double, double)::, std::__invoke_result(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav, 1>&, bool, double, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, size_t, double, double)::&, ducc0::detail_threading::Scheduler&> >’ /usr/include/c++/15/bits/std_function.h:355:41: required by substitution of ‘template template using std::function<_Res(_ArgTypes ...)>::_Requires = std::__enable_if_t<((bool)_Cond::value), _Tp> [with _Cond = std::function::_Callable(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav, 1>&, bool, double, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, size_t, double, double)::, ducc0::detail_nufft::nu2nu(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav, 1>&, bool, double, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, size_t, double, double)::, std::__invoke_result(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav, 1>&, bool, double, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, size_t, double, double)::&, ducc0::detail_threading::Scheduler&> >; _Tp = void; _Res = void; _ArgTypes = {ducc0::detail_threading::Scheduler&}]’ 355 | using _Requires = __enable_if_t<_Cond::value, _Tp>; | ^~~~~ /usr/include/c++/15/bits/std_function.h:436:9: required by substitution of ‘template std::function::function(_Functor&&) [with _Functor = ducc0::detail_nufft::nu2nu(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav, 1>&, bool, double, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, size_t, double, double)::; _Constraints = ]’ 436 | typename _Constraints = _Requires<_Callable<_Functor>>> | ^~~~~~~~ ./src/ducc0/nufft/nufft.h:768:13: required from ‘void ducc0::detail_nufft::nu2nu(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav, 1>&, bool, double, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, size_t, double, double) [with Tcalc = float; Tacc = float; Tpoints = float; Tcoord = float; size_t = long unsigned int]’ 768 | execStatic(points_out.shape(0), nthreads, 0, [&,mid_in=mid_in,mid_out=mid_out,dims=dims](auto &sched) | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 769 | { | ~ 770 | while (auto rng=sched.getNext()) for (auto i=rng.lo; i(Tpoints((coord_out(i,d)-mid_out[d])*gamma[d]/dims[d])); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 776 | phase += (coord_out(i,d)-mid_out[d])*mid_in[d]; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 777 | } | ~ 778 | points_out(i) *= complex(polar(phihat, psign*phase)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 779 | } | ~ 780 | }); | ~~ ./python/nufft_pymod.cc:193:24: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_nu2nu(const pybind11::array&, const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double) [with Tpoints = float; Tcoord = float; size_t = long unsigned int]’ 193 | nu2nu(coord_in,subarray<1>(points_in,{{0},{}}),forward, | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 194 | epsilon,nthreads,coord_out,subarray<1>(points_out,{{0},{}}),verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 195 | sigma_min,sigma_max); | ~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:226:37: required from here 226 | return Py2_nu2nu(points_in, coord_in, coord_out, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 227 | points_out, verbosity, sigma_min, sigma_max); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:778:17: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (long unsigned int&)’ is ambiguous 778 | points_out(i) *= complex(polar(phihat, psign*phase)); | ~~~~~~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/nufft.h: In instantiation of ‘ducc0::detail_nufft::Nufft3::Nufft3(const ducc0::detail_mav::cmav&, double, size_t, const ducc0::detail_mav::cmav&, size_t, double, double):: [with auto:902 = ducc0::detail_threading::Scheduler]’: /usr/include/c++/15/type_traits:2780:26: required by substitution of ‘template static std::__result_of_success()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = ducc0::detail_nufft::Nufft3::Nufft3(const ducc0::detail_mav::cmav&, double, size_t, const ducc0::detail_mav::cmav&, size_t, double, double)::&; _Args = {ducc0::detail_threading::Scheduler&}]’ 2780 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:2791:60: required from ‘struct std::__result_of_impl::Nufft3(const ducc0::detail_mav::cmav&, double, size_t, const ducc0::detail_mav::cmav&, size_t, double, double)::&, ducc0::detail_threading::Scheduler&>’ 2791 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/15/bits/std_function.h:350:9: recursively required by substitution of ‘template struct std::__is_invocable_impl<_Result, _Ret, true, std::__void_t > [with _Result = std::__invoke_result::Nufft3(const ducc0::detail_mav::cmav&, double, size_t, const ducc0::detail_mav::cmav&, size_t, double, double)::&, ducc0::detail_threading::Scheduler&>; _Ret = void]’ 350 | struct _Callable | ^~~~~~~~~ /usr/include/c++/15/bits/std_function.h:350:9: required from ‘struct std::function::_Callable::Nufft3(const ducc0::detail_mav::cmav&, double, size_t, const ducc0::detail_mav::cmav&, size_t, double, double)::, ducc0::detail_nufft::Nufft3::Nufft3(const ducc0::detail_mav::cmav&, double, size_t, const ducc0::detail_mav::cmav&, size_t, double, double)::, std::__invoke_result::Nufft3(const ducc0::detail_mav::cmav&, double, size_t, const ducc0::detail_mav::cmav&, size_t, double, double)::&, ducc0::detail_threading::Scheduler&> >’ /usr/include/c++/15/bits/std_function.h:355:41: required by substitution of ‘template template using std::function<_Res(_ArgTypes ...)>::_Requires = std::__enable_if_t<((bool)_Cond::value), _Tp> [with _Cond = std::function::_Callable::Nufft3(const ducc0::detail_mav::cmav&, double, size_t, const ducc0::detail_mav::cmav&, size_t, double, double)::, ducc0::detail_nufft::Nufft3::Nufft3(const ducc0::detail_mav::cmav&, double, size_t, const ducc0::detail_mav::cmav&, size_t, double, double)::, std::__invoke_result::Nufft3(const ducc0::detail_mav::cmav&, double, size_t, const ducc0::detail_mav::cmav&, size_t, double, double)::&, ducc0::detail_threading::Scheduler&> >; _Tp = void; _Res = void; _ArgTypes = {ducc0::detail_threading::Scheduler&}]’ 355 | using _Requires = __enable_if_t<_Cond::value, _Tp>; | ^~~~~ /usr/include/c++/15/bits/std_function.h:436:9: required by substitution of ‘template std::function::function(_Functor&&) [with _Functor = ducc0::detail_nufft::Nufft3::Nufft3(const ducc0::detail_mav::cmav&, double, size_t, const ducc0::detail_mav::cmav&, size_t, double, double)::; _Constraints = ]’ 436 | typename _Constraints = _Requires<_Callable<_Functor>>> | ^~~~~~~~ ./src/ducc0/nufft/nufft.h:613:17: required from ‘ducc0::detail_nufft::Nufft3::Nufft3(const ducc0::detail_mav::cmav&, double, size_t, const ducc0::detail_mav::cmav&, size_t, double, double) [with Tcalc = float; Tacc = float; Tpoints = float; Tcoord = float; size_t = long unsigned int]’ 613 | execStatic(coord_in.shape(0), nthreads, 0, [&,mid_in=mid_in,mid_out=mid_out](auto &sched) | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 614 | { | ~ 615 | while (auto rng=sched.getNext()) for (auto i=rng.lo; i(polar(1., phase)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 623 | } | ~ 624 | }); | ~~ ./python/nufft_pymod.cc:198:47: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_nu2nu(const pybind11::array&, const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double) [with Tpoints = float; Tcoord = float; size_t = long unsigned int]’ 198 | Nufft3 nufft(coord_in, epsilon, nthreads, | ^~~~~ ./python/nufft_pymod.cc:226:37: required from here 226 | return Py2_nu2nu(points_in, coord_in, coord_out, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 227 | points_out, verbosity, sigma_min, sigma_max); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:622:18: error: call of ‘(ducc0::detail_mav::vmav, 1>) (long unsigned int&)’ is ambiguous 622 | fact_in(i) = complex(polar(1., phase)); | ~~~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/nufft.h: In instantiation of ‘ducc0::detail_nufft::Nufft3::Nufft3(const ducc0::detail_mav::cmav&, double, size_t, const ducc0::detail_mav::cmav&, size_t, double, double):: [with auto:903 = ducc0::detail_threading::Scheduler]’: /usr/include/c++/15/type_traits:2780:26: required by substitution of ‘template static std::__result_of_success()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = ducc0::detail_nufft::Nufft3::Nufft3(const ducc0::detail_mav::cmav&, double, size_t, const ducc0::detail_mav::cmav&, size_t, double, double)::&; _Args = {ducc0::detail_threading::Scheduler&}]’ 2780 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:2791:60: required from ‘struct std::__result_of_impl::Nufft3(const ducc0::detail_mav::cmav&, double, size_t, const ducc0::detail_mav::cmav&, size_t, double, double)::&, ducc0::detail_threading::Scheduler&>’ 2791 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/15/bits/std_function.h:350:9: recursively required by substitution of ‘template struct std::__is_invocable_impl<_Result, _Ret, true, std::__void_t > [with _Result = std::__invoke_result::Nufft3(const ducc0::detail_mav::cmav&, double, size_t, const ducc0::detail_mav::cmav&, size_t, double, double)::&, ducc0::detail_threading::Scheduler&>; _Ret = void]’ 350 | struct _Callable | ^~~~~~~~~ /usr/include/c++/15/bits/std_function.h:350:9: required from ‘struct std::function::_Callable::Nufft3(const ducc0::detail_mav::cmav&, double, size_t, const ducc0::detail_mav::cmav&, size_t, double, double)::, ducc0::detail_nufft::Nufft3::Nufft3(const ducc0::detail_mav::cmav&, double, size_t, const ducc0::detail_mav::cmav&, size_t, double, double)::, std::__invoke_result::Nufft3(const ducc0::detail_mav::cmav&, double, size_t, const ducc0::detail_mav::cmav&, size_t, double, double)::&, ducc0::detail_threading::Scheduler&> >’ /usr/include/c++/15/bits/std_function.h:355:41: required by substitution of ‘template template using std::function<_Res(_ArgTypes ...)>::_Requires = std::__enable_if_t<((bool)_Cond::value), _Tp> [with _Cond = std::function::_Callable::Nufft3(const ducc0::detail_mav::cmav&, double, size_t, const ducc0::detail_mav::cmav&, size_t, double, double)::, ducc0::detail_nufft::Nufft3::Nufft3(const ducc0::detail_mav::cmav&, double, size_t, const ducc0::detail_mav::cmav&, size_t, double, double)::, std::__invoke_result::Nufft3(const ducc0::detail_mav::cmav&, double, size_t, const ducc0::detail_mav::cmav&, size_t, double, double)::&, ducc0::detail_threading::Scheduler&> >; _Tp = void; _Res = void; _ArgTypes = {ducc0::detail_threading::Scheduler&}]’ 355 | using _Requires = __enable_if_t<_Cond::value, _Tp>; | ^~~~~ /usr/include/c++/15/bits/std_function.h:436:9: required by substitution of ‘template std::function::function(_Functor&&) [with _Functor = ducc0::detail_nufft::Nufft3::Nufft3(const ducc0::detail_mav::cmav&, double, size_t, const ducc0::detail_mav::cmav&, size_t, double, double)::; _Constraints = ]’ 436 | typename _Constraints = _Requires<_Callable<_Functor>>> | ^~~~~~~~ ./src/ducc0/nufft/nufft.h:642:17: required from ‘ducc0::detail_nufft::Nufft3::Nufft3(const ducc0::detail_mav::cmav&, double, size_t, const ducc0::detail_mav::cmav&, size_t, double, double) [with Tcalc = float; Tacc = float; Tpoints = float; Tcoord = float; size_t = long unsigned int]’ 642 | execStatic(coord_out.shape(0), nthreads, 0, [&,mid_in=mid_in,mid_out=mid_out](auto &sched) | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 643 | { | ~ 644 | while (auto rng=sched.getNext()) for (auto i=rng.lo; i(Tpoints((coord_out(i,d)-mid_out[d])*gamma[d]/dims[d])); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 650 | phase += (coord_out(i,d)-mid_out[d])*mid_in[d]; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 651 | } | ~ 652 | fact_out(i) = complex(polar(phihat, phase)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 653 | } | ~ 654 | }); | ~~ ./python/nufft_pymod.cc:198:47: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_nu2nu(const pybind11::array&, const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double) [with Tpoints = float; Tcoord = float; size_t = long unsigned int]’ 198 | Nufft3 nufft(coord_in, epsilon, nthreads, | ^~~~~ ./python/nufft_pymod.cc:226:37: required from here 226 | return Py2_nu2nu(points_in, coord_in, coord_out, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 227 | points_out, verbosity, sigma_min, sigma_max); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:652:19: error: call of ‘(ducc0::detail_mav::vmav, 1>) (long unsigned int&)’ is ambiguous 652 | fact_out(i) = complex(polar(phihat, phase)); | ~~~~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/nufft.h: In instantiation of ‘ducc0::detail_nufft::Nufft3::exec(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&, bool):: [with auto:904 = ducc0::detail_threading::Scheduler]’: /usr/include/c++/15/type_traits:2780:26: required by substitution of ‘template static std::__result_of_success()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = ducc0::detail_nufft::Nufft3::exec(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&, bool)::&; _Args = {ducc0::detail_threading::Scheduler&}]’ 2780 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:2791:60: required from ‘struct std::__result_of_impl::exec(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&, bool)::&, ducc0::detail_threading::Scheduler&>’ 2791 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/15/bits/std_function.h:350:9: recursively required by substitution of ‘template struct std::__is_invocable_impl<_Result, _Ret, true, std::__void_t > [with _Result = std::__invoke_result::exec(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&, bool)::&, ducc0::detail_threading::Scheduler&>; _Ret = void]’ 350 | struct _Callable | ^~~~~~~~~ /usr/include/c++/15/bits/std_function.h:350:9: required from ‘struct std::function::_Callable::exec(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&, bool)::, ducc0::detail_nufft::Nufft3::exec(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&, bool)::, std::__invoke_result::exec(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&, bool)::&, ducc0::detail_threading::Scheduler&> >’ /usr/include/c++/15/bits/std_function.h:355:41: required by substitution of ‘template template using std::function<_Res(_ArgTypes ...)>::_Requires = std::__enable_if_t<((bool)_Cond::value), _Tp> [with _Cond = std::function::_Callable::exec(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&, bool)::, ducc0::detail_nufft::Nufft3::exec(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&, bool)::, std::__invoke_result::exec(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&, bool)::&, ducc0::detail_threading::Scheduler&> >; _Tp = void; _Res = void; _ArgTypes = {ducc0::detail_threading::Scheduler&}]’ 355 | using _Requires = __enable_if_t<_Cond::value, _Tp>; | ^~~~~ /usr/include/c++/15/bits/std_function.h:436:9: required by substitution of ‘template std::function::function(_Functor&&) [with _Functor = ducc0::detail_nufft::Nufft3::exec(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&, bool)::; _Constraints = ]’ 436 | typename _Constraints = _Requires<_Callable<_Functor>>> | ^~~~~~~~ ./src/ducc0/nufft/nufft.h:669:17: required from ‘void ducc0::detail_nufft::Nufft3::exec(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&, bool) [with Tcalc = float; Tacc = float; Tpoints = float; Tcoord = float]’ 669 | execStatic(points_in.shape(0), nthreads, 0, [&](auto &sched) | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 670 | { | ~ 671 | while (auto rng=sched.getNext()) for (auto i=rng.lo; i(points_in,{{i},{}}), subarray<1>(points_out,{{i},{}}), forward); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:226:37: required from here 226 | return Py2_nu2nu(points_in, coord_in, coord_out, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 227 | points_out, verbosity, sigma_min, sigma_max); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:672:22: error: call of ‘(ducc0::detail_mav::vmav, 1>) (long unsigned int&)’ is ambiguous 672 | points_in_2(i) = points_in(i) * (forward ? conj(fact_in(i)) : fact_in(i)); | ~~~~~~~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/nufft.h:672:66: error: call of ‘(ducc0::detail_mav::vmav, 1>) (long unsigned int&)’ is ambiguous 672 | points_in_2(i) = points_in(i) * (forward ? conj(fact_in(i)) : fact_in(i)); | ~~~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/nufft.h:672:80: error: call of ‘(ducc0::detail_mav::vmav, 1>) (long unsigned int&)’ is ambiguous 672 | points_in_2(i) = points_in(i) * (forward ? conj(fact_in(i)) : fact_in(i)); | ~~~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/nufft.h: In instantiation of ‘ducc0::detail_nufft::Nufft3::exec(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&, bool):: [with auto:905 = ducc0::detail_threading::Scheduler]’: /usr/include/c++/15/type_traits:2780:26: required by substitution of ‘template static std::__result_of_success()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = ducc0::detail_nufft::Nufft3::exec(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&, bool)::&; _Args = {ducc0::detail_threading::Scheduler&}]’ 2780 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:2791:60: required from ‘struct std::__result_of_impl::exec(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&, bool)::&, ducc0::detail_threading::Scheduler&>’ 2791 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/15/bits/std_function.h:350:9: recursively required by substitution of ‘template struct std::__is_invocable_impl<_Result, _Ret, true, std::__void_t > [with _Result = std::__invoke_result::exec(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&, bool)::&, ducc0::detail_threading::Scheduler&>; _Ret = void]’ 350 | struct _Callable | ^~~~~~~~~ /usr/include/c++/15/bits/std_function.h:350:9: required from ‘struct std::function::_Callable::exec(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&, bool)::, ducc0::detail_nufft::Nufft3::exec(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&, bool)::, std::__invoke_result::exec(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&, bool)::&, ducc0::detail_threading::Scheduler&> >’ /usr/include/c++/15/bits/std_function.h:355:41: required by substitution of ‘template template using std::function<_Res(_ArgTypes ...)>::_Requires = std::__enable_if_t<((bool)_Cond::value), _Tp> [with _Cond = std::function::_Callable::exec(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&, bool)::, ducc0::detail_nufft::Nufft3::exec(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&, bool)::, std::__invoke_result::exec(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&, bool)::&, ducc0::detail_threading::Scheduler&> >; _Tp = void; _Res = void; _ArgTypes = {ducc0::detail_threading::Scheduler&}]’ 355 | using _Requires = __enable_if_t<_Cond::value, _Tp>; | ^~~~~ /usr/include/c++/15/bits/std_function.h:436:9: required by substitution of ‘template std::function::function(_Functor&&) [with _Functor = ducc0::detail_nufft::Nufft3::exec(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&, bool)::; _Constraints = ]’ 436 | typename _Constraints = _Requires<_Callable<_Functor>>> | ^~~~~~~~ ./src/ducc0/nufft/nufft.h:678:17: required from ‘void ducc0::detail_nufft::Nufft3::exec(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&, bool) [with Tcalc = float; Tacc = float; Tpoints = float; Tcoord = float]’ 678 | execStatic(points_out.shape(0), nthreads, 0, [&](auto &sched) | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 679 | { | ~ 680 | while (auto rng=sched.getNext()) for (auto i=rng.lo; i(points_in,{{i},{}}), subarray<1>(points_out,{{i},{}}), forward); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:226:37: required from here 226 | return Py2_nu2nu(points_in, coord_in, coord_out, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 227 | points_out, verbosity, sigma_min, sigma_max); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:681:21: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (long unsigned int&)’ is ambiguous 681 | points_out(i) *= forward ? conj(fact_out(i)) : fact_out(i); | ~~~~~~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/nufft.h:681:51: error: call of ‘(ducc0::detail_mav::vmav, 1>) (long unsigned int&)’ is ambiguous 681 | points_out(i) *= forward ? conj(fact_out(i)) : fact_out(i); | ~~~~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/nufft.h:681:66: error: call of ‘(ducc0::detail_mav::vmav, 1>) (long unsigned int&)’ is ambiguous 681 | points_out(i) *= forward ? conj(fact_out(i)) : fact_out(i); | ~~~~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc: In instantiation of ‘void ducc0::detail_wigner3j::wigner3j_00_internal_vec(Tsimd, Tsimd, const ducc0::detail_mav::vmav&) [with Tsimd = std::experimental::parallelism_v2::simd >]’: ./src/ducc0/math/wigner3j.cc:434:36: required from ‘void ducc0::detail_wigner3j::wigner3j_internal_vec(Tsimd, Tsimd, double, double, const ducc0::detail_mav::vmav&) [with Tsimd = std::experimental::parallelism_v2::simd >]’ 434 | return wigner3j_00_internal_vec(l2, l3, res); | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./src/ducc0/math/wigner3j.cc:940:26: required from ‘void ducc0::detail_wigner3j::flexible_wigner3j_vec(Tsimd, Tsimd, double, double, Tsimd, const ducc0::detail_mav::vmav&) [with Tsimd = std::experimental::parallelism_v2::simd >]’ 940 | wigner3j_internal_vec(l2, l3, m2, m3, sub); | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/math/wigner3j.cc:952:139: required from here 952 | (native_simd l2, native_simd l3, double m2, double m3, native_simd l1min, const vmav,1> &res); | ^ ./src/ducc0/math/wigner3j.cc:399:6: error: call of ‘(const ducc0::detail_mav::vmav >, 1>) (int)’ is ambiguous 399 | res(0) = 1.; | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:400:34: error: call of ‘(const ducc0::detail_mav::vmav >, 1>) (int)’ is ambiguous 400 | Tsimd sum = (2.*l1min+1.) * res(0)*res(0); | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:400:41: error: call of ‘(const ducc0::detail_mav::vmav >, 1>) (int)’ is ambiguous 400 | Tsimd sum = (2.*l1min+1.) * res(0)*res(0); | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:409:8: error: call of ‘(const ducc0::detail_mav::vmav >, 1>) (int)’ is ambiguous 409 | res(i+1) = 0.; | ~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:412:8: error: call of ‘(const ducc0::detail_mav::vmav >, 1>) (int)’ is ambiguous 412 | res(i+2) = -res(i)*tmp1; | ~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:412:20: error: call of ‘(const ducc0::detail_mav::vmav >, 1>) (int&)’ is ambiguous 412 | res(i+2) = -res(i)*tmp1; | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:414:28: error: call of ‘(const ducc0::detail_mav::vmav >, 1>) (int)’ is ambiguous 414 | sum += (2.*l1p1+1.)*res(i+2)*res(i+2); | ~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:414:37: error: call of ‘(const ducc0::detail_mav::vmav >, 1>) (int)’ is ambiguous 414 | sum += (2.*l1p1+1.)*res(i+2)*res(i+2); | ~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/wigner3j.cc:427:8: error: call of ‘(const ducc0::detail_mav::vmav >, 1>) (int&)’ is ambiguous 427 | res(k)*=cnorm; | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int}; T = std::experimental::parallelism_v2::simd >; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht_utils.h: In instantiation of ‘void ducc0::detail_sht::resample_theta(const ducc0::detail_mav::cmav, 3>&, bool, bool, const ducc0::detail_mav::vmav, 3>&, bool, bool, size_t, size_t, bool) [with T = double; size_t = long unsigned int]’: ./src/ducc0/sht/sht.cc:2482:19: required from ‘void ducc0::detail_sht::synthesis(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, ptrdiff_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, ptrdiff_t, size_t, SHT_mode, bool) [with T = double; size_t = long unsigned int; ptrdiff_t = long int]’ 2482 | resample_theta(legi, true, true, lego, npi, spi, spin, nthreads, false); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sht.cc:2548:12: required from ‘void ducc0::detail_sht::synthesis_2d(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, ptrdiff_t, const std::string&, double, size_t, SHT_mode) [with T = double; size_t = long unsigned int; ptrdiff_t = long int; std::string = std::__cxx11::basic_string]’ 2548 | synthesis(alm, map2, spin, lmax, mstart, lstride, theta, nphi, phi0_, ringstart, pixstride, nthreads, | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2549 | mode); | ~~~~~ ./src/ducc0/sht/sht.cc:2553:70: required from here 2553 | const string &geometry, double phi0, size_t nthreads, SHT_mode mode); | ^ ./src/ducc0/sht/sht_utils.h:90:16: error: call of ‘(ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 90 | tmp(i) = v1 + v2; | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht_utils.h:92:18: error: call of ‘(ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 92 | tmp(im) = fct * (v1-v2); | ~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht_utils.h:94:18: error: call of ‘(ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 94 | tmp(i) = (adjoint ? T(1) : T(0.5)) * (tmp(i) + fct*(v1-v2)); // sic! | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht_utils.h:94:56: error: call of ‘(ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 94 | tmp(i) = (adjoint ? T(1) : T(0.5)) * (tmp(i) + fct*(v1-v2)); // sic! | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht_utils.h:101:20: error: call of ‘(ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 101 | tmp(i) *= phase[i]; | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht_utils.h:102:18: error: call of ‘(ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 102 | tmp(im) *= conj(phase[i]); | ~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht_utils.h:111:18: error: call of ‘(ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 111 | tmp(i) = tmp(i-dist); | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht_utils.h:111:27: error: call of ‘(ducc0::detail_mav::vmav, 1>) (size_t)’ is ambiguous 111 | tmp(i) = tmp(i-dist); | ~~~^~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht_utils.h:113:18: error: call of ‘(ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 113 | tmp(i) = 0; | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht_utils.h:120:18: error: call of ‘(ducc0::detail_mav::vmav, 1>) (size_t)’ is ambiguous 120 | tmp(i-dist) = tmp(i); | ~~~^~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht_utils.h:120:32: error: call of ‘(ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 120 | tmp(i-dist) = tmp(i); | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht_utils.h:129:37: error: call of ‘(ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 129 | complex v1 = fct2*tmp(i); | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht_utils.h:130:41: error: call of ‘(ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 130 | complex v2 = fct2*fct*tmp(im); | ~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht_utils.h:131:18: error: call of ‘(ducc0::detail_mav::vmav, 2>) (size_t&, size_t)’ is ambiguous 131 | llego(i,2*j) = norm * (v1 + v2); | ~~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht_utils.h:133:20: error: call of ‘(ducc0::detail_mav::vmav, 2>) (size_t&, size_t)’ is ambiguous 133 | llego(i,2*j+1) = norm * (v1 - v2); | ~~~~~^~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht_utils.h: In instantiation of ‘void ducc0::detail_sht::resample_theta(const ducc0::detail_mav::cmav, 3>&, bool, bool, const ducc0::detail_mav::vmav, 3>&, bool, bool, size_t, size_t, bool) [with T = float; size_t = long unsigned int]’: ./src/ducc0/sht/sht.cc:2482:19: required from ‘void ducc0::detail_sht::synthesis(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, ptrdiff_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, ptrdiff_t, size_t, SHT_mode, bool) [with T = float; size_t = long unsigned int; ptrdiff_t = long int]’ 2482 | resample_theta(legi, true, true, lego, npi, spi, spin, nthreads, false); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sht.cc:2548:12: required from ‘void ducc0::detail_sht::synthesis_2d(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, ptrdiff_t, const std::string&, double, size_t, SHT_mode) [with T = float; size_t = long unsigned int; ptrdiff_t = long int; std::string = std::__cxx11::basic_string]’ 2548 | synthesis(alm, map2, spin, lmax, mstart, lstride, theta, nphi, phi0_, ringstart, pixstride, nthreads, | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2549 | mode); | ~~~~~ ./src/ducc0/sht/sht.cc:2556:70: required from here 2556 | const string &geometry, double phi0, size_t nthreads, SHT_mode mode); | ^ ./src/ducc0/sht/sht_utils.h:90:16: error: call of ‘(ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 90 | tmp(i) = v1 + v2; | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht_utils.h:92:18: error: call of ‘(ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 92 | tmp(im) = fct * (v1-v2); | ~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht_utils.h:94:18: error: call of ‘(ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 94 | tmp(i) = (adjoint ? T(1) : T(0.5)) * (tmp(i) + fct*(v1-v2)); // sic! | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht_utils.h:94:56: error: call of ‘(ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 94 | tmp(i) = (adjoint ? T(1) : T(0.5)) * (tmp(i) + fct*(v1-v2)); // sic! | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht_utils.h:101:20: error: call of ‘(ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 101 | tmp(i) *= phase[i]; | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht_utils.h:102:18: error: call of ‘(ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 102 | tmp(im) *= conj(phase[i]); | ~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht_utils.h:111:18: error: call of ‘(ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 111 | tmp(i) = tmp(i-dist); | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht_utils.h:111:27: error: call of ‘(ducc0::detail_mav::vmav, 1>) (size_t)’ is ambiguous 111 | tmp(i) = tmp(i-dist); | ~~~^~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht_utils.h:113:18: error: call of ‘(ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 113 | tmp(i) = 0; | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht_utils.h:120:18: error: call of ‘(ducc0::detail_mav::vmav, 1>) (size_t)’ is ambiguous 120 | tmp(i-dist) = tmp(i); | ~~~^~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht_utils.h:120:32: error: call of ‘(ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 120 | tmp(i-dist) = tmp(i); | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht_utils.h:129:37: error: call of ‘(ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 129 | complex v1 = fct2*tmp(i); | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht_utils.h:130:41: error: call of ‘(ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 130 | complex v2 = fct2*fct*tmp(im); | ~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht_utils.h:131:18: error: call of ‘(ducc0::detail_mav::vmav, 2>) (size_t&, size_t)’ is ambiguous 131 | llego(i,2*j) = norm * (v1 + v2); | ~~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht_utils.h:133:20: error: call of ‘(ducc0::detail_mav::vmav, 2>) (size_t&, size_t)’ is ambiguous 133 | llego(i,2*j+1) = norm * (v1 - v2); | ~~~~~^~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc: In instantiation of ‘void ducc0::detail_sht::resample_from_prepared_CC(const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::vmav, 3>&, bool, bool, size_t, size_t, size_t) [with T = double; size_t = long unsigned int]’: ./src/ducc0/sht/sht.cc:2878:30: required from ‘void ducc0::detail_sht::adjoint_analysis_2d(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, ptrdiff_t, const std::string&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, ptrdiff_t, size_t) [with T = double; size_t = long unsigned int; ptrdiff_t = long int; std::string = std::__cxx11::basic_string]’ 2878 | resample_from_prepared_CC(legi, lego, npo, spo, spin, lmax, nthreads); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sht.cc:2918:22: required from ‘void ducc0::detail_sht::adjoint_analysis_2d(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, ptrdiff_t, const std::string&, double, size_t) [with T = double; size_t = long unsigned int; ptrdiff_t = long int; std::string = std::__cxx11::basic_string]’ 2918 | adjoint_analysis_2d(alm, map2, spin, lmax, mstart, lstride, geometry, nphi, phi0_, | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2919 | ringstart, pixstride, nthreads); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sht.cc:2922:131: required from here 2922 | size_t spin, size_t lmax, const cmav &mstart, ptrdiff_t lstride, const string &geometry, double phi0_, size_t nthreads); | ^ ./src/ducc0/sht/sht.cc:2344:16: error: call of ‘(ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 2344 | tmp(i) = v1; | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:2346:18: error: call of ‘(ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 2346 | tmp(im) = fct2 * v1; | ~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:2348:18: error: call of ‘(ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 2348 | tmp(i) = T(0.5)*(tmp(i)+fct2*v1); | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:2348:35: error: call of ‘(ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 2348 | tmp(i) = T(0.5)*(tmp(i)+fct2*v1); | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:2357:18: error: call of ‘(ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 2357 | tmp(i) = tmp(i-dist); | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:2357:27: error: call of ‘(ducc0::detail_mav::vmav, 1>) (size_t)’ is ambiguous 2357 | tmp(i) = tmp(i-dist); | ~~~^~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:2359:18: error: call of ‘(ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 2359 | tmp(i) = 0; | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:2365:16: error: call of ‘(ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 2365 | tmp(i) *= T(wgt(i)); | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:2366:39: error: call of ‘(ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 2366 | if ((i==0) || (i==im)) tmp(i)*=2; | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:2368:18: error: call of ‘(ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 2368 | tmp(im) *= T(wgt(i)); | ~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:2379:20: error: call of ‘(ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 2379 | tmp(i) = tmp(i-dist); | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:2379:29: error: call of ‘(ducc0::detail_mav::vmav, 1>) (size_t)’ is ambiguous 2379 | tmp(i) = tmp(i-dist); | ~~~^~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:2381:20: error: call of ‘(ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 2381 | tmp(i) = 0; | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:2388:20: error: call of ‘(ducc0::detail_mav::vmav, 1>) (size_t)’ is ambiguous 2388 | tmp(i-dist) = tmp(i); | ~~~^~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:2388:34: error: call of ‘(ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 2388 | tmp(i-dist) = tmp(i); | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:2395:22: error: call of ‘(ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 2395 | tmp(i) *= conj(shift[i]); | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:2396:20: error: call of ‘(ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 2396 | tmp(im) *= shift[i]; | ~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:2406:18: error: call of ‘(ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 2406 | llego(i,j) = norm2 * (tmp(i) + fct2*tmp(im)); | ~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:2406:38: error: call of ‘(ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 2406 | llego(i,j) = norm2 * (tmp(i) + fct2*tmp(im)); | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:2406:52: error: call of ‘(ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 2406 | llego(i,j) = norm2 * (tmp(i) + fct2*tmp(im)); | ~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc: In instantiation of ‘void ducc0::detail_sht::resample_from_prepared_CC(const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::vmav, 3>&, bool, bool, size_t, size_t, size_t) [with T = float; size_t = long unsigned int]’: ./src/ducc0/sht/sht.cc:2878:30: required from ‘void ducc0::detail_sht::adjoint_analysis_2d(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, ptrdiff_t, const std::string&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, ptrdiff_t, size_t) [with T = float; size_t = long unsigned int; ptrdiff_t = long int; std::string = std::__cxx11::basic_string]’ 2878 | resample_from_prepared_CC(legi, lego, npo, spo, spin, lmax, nthreads); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sht.cc:2918:22: required from ‘void ducc0::detail_sht::adjoint_analysis_2d(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, ptrdiff_t, const std::string&, double, size_t) [with T = float; size_t = long unsigned int; ptrdiff_t = long int; std::string = std::__cxx11::basic_string]’ 2918 | adjoint_analysis_2d(alm, map2, spin, lmax, mstart, lstride, geometry, nphi, phi0_, | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2919 | ringstart, pixstride, nthreads); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sht.cc:2924:130: required from here 2924 | size_t spin, size_t lmax, const cmav &mstart, ptrdiff_t lstride, const string &geometry, double phi0, size_t nthreads); | ^ ./src/ducc0/sht/sht.cc:2344:16: error: call of ‘(ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 2344 | tmp(i) = v1; | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:2346:18: error: call of ‘(ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 2346 | tmp(im) = fct2 * v1; | ~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:2348:18: error: call of ‘(ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 2348 | tmp(i) = T(0.5)*(tmp(i)+fct2*v1); | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:2348:35: error: call of ‘(ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 2348 | tmp(i) = T(0.5)*(tmp(i)+fct2*v1); | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:2357:18: error: call of ‘(ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 2357 | tmp(i) = tmp(i-dist); | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:2357:27: error: call of ‘(ducc0::detail_mav::vmav, 1>) (size_t)’ is ambiguous 2357 | tmp(i) = tmp(i-dist); | ~~~^~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:2359:18: error: call of ‘(ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 2359 | tmp(i) = 0; | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:2365:16: error: call of ‘(ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 2365 | tmp(i) *= T(wgt(i)); | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:2366:39: error: call of ‘(ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 2366 | if ((i==0) || (i==im)) tmp(i)*=2; | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:2368:18: error: call of ‘(ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 2368 | tmp(im) *= T(wgt(i)); | ~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:2379:20: error: call of ‘(ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 2379 | tmp(i) = tmp(i-dist); | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:2379:29: error: call of ‘(ducc0::detail_mav::vmav, 1>) (size_t)’ is ambiguous 2379 | tmp(i) = tmp(i-dist); | ~~~^~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:2381:20: error: call of ‘(ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 2381 | tmp(i) = 0; | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:2388:20: error: call of ‘(ducc0::detail_mav::vmav, 1>) (size_t)’ is ambiguous 2388 | tmp(i-dist) = tmp(i); | ~~~^~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:2388:34: error: call of ‘(ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 2388 | tmp(i-dist) = tmp(i); | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:2395:22: error: call of ‘(ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 2395 | tmp(i) *= conj(shift[i]); | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:2396:20: error: call of ‘(ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 2396 | tmp(im) *= shift[i]; | ~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:2406:18: error: call of ‘(ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 2406 | llego(i,j) = norm2 * (tmp(i) + fct2*tmp(im)); | ~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:2406:38: error: call of ‘(ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 2406 | llego(i,j) = norm2 * (tmp(i) + fct2*tmp(im)); | ~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:2406:52: error: call of ‘(ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 2406 | llego(i,j) = norm2 * (tmp(i) + fct2*tmp(im)); | ~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h: In instantiation of ‘void ducc0::detail_sphereinterpol::SphereInterpol::interpolx(size_t, const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with long unsigned int supp = 8; Tloc = double; T = float; size_t = long unsigned int]’: ./src/ducc0/sht/sphere_interpol.h:559:25: required from ‘void ducc0::detail_sphereinterpol::SphereInterpol::interpol(const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with Tloc = double; T = float; size_t = long unsigned int]’ 559 | interpolx(kernel->support(), cube, itheta0, iphi0, theta, phi, signal); | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sht.cc:2951:17: required from ‘void ducc0::detail_sht::synthesis_general(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, ptrdiff_t, const ducc0::detail_mav::cmav&, double, double, double, size_t, SHT_mode, bool) [with T = float; Tloc = double; size_t = long unsigned int; ptrdiff_t = long int]’ 2951 | inter.interpol(planes, 0, 0, xtheta, xphi, map); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sht.cc:2959:99: required from here 2959 | double epsilon, double sigma_min, double sigma_max, size_t nthreads, SHT_mode mode, bool verbose); | ^ ./src/ducc0/sht/sphere_interpol.h:242:21: error: call of ‘(const ducc0::detail_mav::vmav) (int, size_t&)’ is ambiguous 242 | signal(0, i) = reduce(tres0, std::plus<>()); | ~~~~~~^~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:243:21: error: call of ‘(const ducc0::detail_mav::vmav) (int, size_t&)’ is ambiguous 243 | signal(1, i) = reduce(tres1, std::plus<>()); | ~~~~~~^~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:269:23: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&)’ is ambiguous 269 | signal(icomp, i) = reduce(tres, std::plus<>()); | ~~~~~~^~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h: In instantiation of ‘void ducc0::detail_sphereinterpol::SphereInterpol::interpolx(size_t, const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with long unsigned int supp = 16; Tloc = double; T = double; size_t = long unsigned int]’: ./src/ducc0/sht/sphere_interpol.h:559:25: required from ‘void ducc0::detail_sphereinterpol::SphereInterpol::interpol(const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with Tloc = double; T = double; size_t = long unsigned int]’ 559 | interpolx(kernel->support(), cube, itheta0, iphi0, theta, phi, signal); | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sht.cc:2951:17: required from ‘void ducc0::detail_sht::synthesis_general(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, ptrdiff_t, const ducc0::detail_mav::cmav&, double, double, double, size_t, SHT_mode, bool) [with T = double; Tloc = double; size_t = long unsigned int; ptrdiff_t = long int]’ 2951 | inter.interpol(planes, 0, 0, xtheta, xphi, map); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sht.cc:2963:99: required from here 2963 | double epsilon, double sigma_min, double sigma_max, size_t nthreads, SHT_mode mode, bool verbose); | ^ ./src/ducc0/sht/sphere_interpol.h:242:21: error: call of ‘(const ducc0::detail_mav::vmav) (int, size_t&)’ is ambiguous 242 | signal(0, i) = reduce(tres0, std::plus<>()); | ~~~~~~^~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:243:21: error: call of ‘(const ducc0::detail_mav::vmav) (int, size_t&)’ is ambiguous 243 | signal(1, i) = reduce(tres1, std::plus<>()); | ~~~~~~^~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:269:23: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&)’ is ambiguous 269 | signal(icomp, i) = reduce(tres, std::plus<>()); | ~~~~~~^~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h: In instantiation of ‘void ducc0::detail_sphereinterpol::SphereInterpol::deinterpolx(size_t, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with long unsigned int supp = 8; Tloc = double; T = float; size_t = long unsigned int]’: ./src/ducc0/sht/sphere_interpol.h:567:27: required from ‘void ducc0::detail_sphereinterpol::SphereInterpol::deinterpol(const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with Tloc = double; T = float; size_t = long unsigned int]’ 567 | deinterpolx(kernel->support(), cube, itheta0, iphi0, theta, phi, signal); | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sht.cc:2988:19: required from ‘void ducc0::detail_sht::adjoint_synthesis_general(const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, ptrdiff_t, const ducc0::detail_mav::cmav&, double, double, double, size_t, SHT_mode, bool) [with T = float; Tloc = double; size_t = long unsigned int; ptrdiff_t = long int]’ 2988 | inter.deinterpol(planes, 0, 0, xtheta, xphi, map); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sht.cc:2997:99: required from here 2997 | double epsilon, double sigma_min, double sigma_max, size_t nthreads, SHT_mode mode, bool verbose); | ^ ./src/ducc0/sht/sphere_interpol.h:357:46: error: call of ‘(const ducc0::detail_mav::vmav) (int, size_t&, size_t&)’ is ambiguous 357 | T * DUCC0_RESTRICT ptr0 = &cube(0,hlp.itheta,hlp.iphi); | ~~~~^~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:358:46: error: call of ‘(const ducc0::detail_mav::vmav) (int, size_t&, size_t&)’ is ambiguous 358 | T * DUCC0_RESTRICT ptr1 = &cube(1,hlp.itheta,hlp.iphi); | ~~~~^~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:393:47: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&, size_t&)’ is ambiguous 393 | T * DUCC0_RESTRICT ptr = &cube(icomp,hlp.itheta,hlp.iphi); | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h: In instantiation of ‘void ducc0::detail_sphereinterpol::SphereInterpol::deinterpolx(size_t, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with long unsigned int supp = 16; Tloc = double; T = double; size_t = long unsigned int]’: ./src/ducc0/sht/sphere_interpol.h:567:27: required from ‘void ducc0::detail_sphereinterpol::SphereInterpol::deinterpol(const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with Tloc = double; T = double; size_t = long unsigned int]’ 567 | deinterpolx(kernel->support(), cube, itheta0, iphi0, theta, phi, signal); | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sht.cc:2988:19: required from ‘void ducc0::detail_sht::adjoint_synthesis_general(const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, ptrdiff_t, const ducc0::detail_mav::cmav&, double, double, double, size_t, SHT_mode, bool) [with T = double; Tloc = double; size_t = long unsigned int; ptrdiff_t = long int]’ 2988 | inter.deinterpol(planes, 0, 0, xtheta, xphi, map); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sht.cc:3001:99: required from here 3001 | double epsilon, double sigma_min, double sigma_max, size_t nthreads, SHT_mode mode, bool verbose); | ^ ./src/ducc0/sht/sphere_interpol.h:357:46: error: call of ‘(const ducc0::detail_mav::vmav) (int, size_t&, size_t&)’ is ambiguous 357 | T * DUCC0_RESTRICT ptr0 = &cube(0,hlp.itheta,hlp.iphi); | ~~~~^~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:358:46: error: call of ‘(const ducc0::detail_mav::vmav) (int, size_t&, size_t&)’ is ambiguous 358 | T * DUCC0_RESTRICT ptr1 = &cube(1,hlp.itheta,hlp.iphi); | ~~~~^~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:393:47: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&, size_t&)’ is ambiguous 393 | T * DUCC0_RESTRICT ptr = &cube(icomp,hlp.itheta,hlp.iphi); | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht_utils.h: In instantiation of ‘void ducc0::detail_sht::resample_leg_CC_to_irregular(const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::vmav, 3>&, const ducc0::detail_mav::cmav&, size_t, const ducc0::detail_mav::cmav&, size_t) [with T = float; size_t = long unsigned int]’: ./src/ducc0/sht/sht.cc:1908:35: required from ‘void ducc0::detail_sht::alm2leg(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::vmav, 3>&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, ptrdiff_t, const ducc0::detail_mav::cmav&, size_t, SHT_mode, bool) [with T = float; size_t = long unsigned int; ptrdiff_t = long int]’ 1908 | resample_leg_CC_to_irregular(leg_tmp, leg, theta, spin, mval, nthreads); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/sht_pymod.cc:315:10: required from ‘pybind11::array ducc0::detail_pymodule_sht::Py2_alm2leg(const pybind11::array&, size_t, size_t, const pybind11::object&, const pybind11::object&, ptrdiff_t, const pybind11::array&, size_t, pybind11::object&, const std::string&, bool) [with T = float; size_t = long unsigned int; ptrdiff_t = long int; std::string = std::__cxx11::basic_string]’ 315 | alm2leg(alm, leg, spin, lmax, mval, mstart, lstride, theta, nthreads, mode, theta_interpol); | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/sht_pymod.cc:324:30: required from here 324 | return Py2_alm2leg(alm, spin, lmax, mval, mstart, lstride, theta, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 325 | nthreads, leg, mode, theta_interpol); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sht_utils.h:293:19: error: call of ‘(ducc0::detail_mav::vmav, 3>) (size_t&, long unsigned int, size_t)’ is ambiguous 293 | legtmp(iplane,nborder-1-i,mi-rng.lo) = fct2*legtmp(iplane,nborder+1+i,mi-rng.lo); | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht_utils.h:293:63: error: call of ‘(ducc0::detail_mav::vmav, 3>) (size_t&, long unsigned int, size_t)’ is ambiguous 293 | legtmp(iplane,nborder-1-i,mi-rng.lo) = fct2*legtmp(iplane,nborder+1+i,mi-rng.lo); | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht_utils.h:294:19: error: call of ‘(ducc0::detail_mav::vmav, 3>) (size_t&, long unsigned int, size_t)’ is ambiguous 294 | legtmp(iplane,nborder+ntheta_b+i,mi-rng.lo) = fct2*legtmp(iplane,nborder+ntheta_b-2-i,mi-rng.lo); | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht_utils.h:294:70: error: call of ‘(ducc0::detail_mav::vmav, 3>) (size_t&, long unsigned int, size_t)’ is ambiguous 294 | legtmp(iplane,nborder+ntheta_b+i,mi-rng.lo) = fct2*legtmp(iplane,nborder+ntheta_b-2-i,mi-rng.lo); | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht_utils.h:314:19: error: call of ‘(const ducc0::detail_mav::vmav, 3>) (size_t&, size_t&, size_t&)’ is ambiguous 314 | lego(iplane, itheta, mi) = complex(vbuf(mi-rng.lo)); | ~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc: In instantiation of ‘void ducc0::detail_sht::inner_loop_a2m(SHT_mode, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::vmav, 3>&, const std::vector&, Ylmgen&, size_t) [with T = float; size_t = long unsigned int]’: ./src/ducc0/sht/sht.cc:1936:22: required from ‘void ducc0::detail_sht::alm2leg(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::vmav, 3>&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, ptrdiff_t, const ducc0::detail_mav::cmav&, size_t, SHT_mode, bool) [with T = float; size_t = long unsigned int; ptrdiff_t = long int]’ 1936 | inner_loop_a2m (mode, almtmp, leg, rdata, gen, mi); | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/sht_pymod.cc:315:10: required from ‘pybind11::array ducc0::detail_pymodule_sht::Py2_alm2leg(const pybind11::array&, size_t, size_t, const pybind11::object&, const pybind11::object&, ptrdiff_t, const pybind11::array&, size_t, pybind11::object&, const std::string&, bool) [with T = float; size_t = long unsigned int; ptrdiff_t = long int; std::string = std::__cxx11::basic_string]’ 315 | alm2leg(alm, leg, spin, lmax, mval, mstart, lstride, theta, nthreads, mode, theta_interpol); | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/sht_pymod.cc:324:30: required from here 324 | return Py2_alm2leg(alm, spin, lmax, mval, mstart, lstride, theta, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 325 | nthreads, leg, mode, theta_interpol); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sht.cc:1413:16: error: call of ‘(const ducc0::detail_mav::vmav, 3>) (int, const size_t&, size_t&)’ is ambiguous 1413 | phase(0, rdata[ith].idx, mi) = phase(0, rdata[ith].midx, mi) = 0; | ~~~~~^~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:1413:47: error: call of ‘(const ducc0::detail_mav::vmav, 3>) (int, const size_t&, size_t&)’ is ambiguous 1413 | phase(0, rdata[ith].idx, mi) = phase(0, rdata[ith].midx, mi) = 0; | ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:1442:16: error: call of ‘(const ducc0::detail_mav::vmav, 3>) (int, std::array::value_type&, size_t&)’ is ambiguous 1442 | phase(0, idx[i], mi) = complex(T(d.s.p1r[i]),T(d.s.p1i[i])); | ~~~~~^~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:1444:18: error: call of ‘(const ducc0::detail_mav::vmav, 3>) (int, std::array::value_type&, size_t&)’ is ambiguous 1444 | phase(0, midx[i], mi) = complex(T(d.s.p2r[i]),T(d.s.p2i[i])); | ~~~~~^~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:1474:16: error: call of ‘(const ducc0::detail_mav::vmav, 3>) (int, const size_t&, size_t&)’ is ambiguous 1474 | phase(0, rdata[ith].idx, mi) = phase(0, rdata[ith].midx, mi) = 0; | ~~~~~^~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:1474:47: error: call of ‘(const ducc0::detail_mav::vmav, 3>) (int, const size_t&, size_t&)’ is ambiguous 1474 | phase(0, rdata[ith].idx, mi) = phase(0, rdata[ith].midx, mi) = 0; | ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:1475:16: error: call of ‘(const ducc0::detail_mav::vmav, 3>) (int, const size_t&, size_t&)’ is ambiguous 1475 | phase(1, rdata[ith].idx, mi) = phase(1, rdata[ith].midx, mi) = 0; | ~~~~~^~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:1475:47: error: call of ‘(const ducc0::detail_mav::vmav, 3>) (int, const size_t&, size_t&)’ is ambiguous 1475 | phase(1, rdata[ith].idx, mi) = phase(1, rdata[ith].midx, mi) = 0; | ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:1517:16: error: call of ‘(const ducc0::detail_mav::vmav, 3>) (int, std::array::value_type&, size_t&)’ is ambiguous 1517 | phase(0, idx[i], mi) = complex(T(d.s.p1pr[i]), T(d.s.p1pi[i])); | ~~~~~^~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:1518:16: error: call of ‘(const ducc0::detail_mav::vmav, 3>) (int, std::array::value_type&, size_t&)’ is ambiguous 1518 | phase(1, idx[i], mi) = complex(T(d.s.p1mr[i]), T(d.s.p1mi[i])); | ~~~~~^~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:1521:18: error: call of ‘(const ducc0::detail_mav::vmav, 3>) (int, std::array::value_type&, size_t&)’ is ambiguous 1521 | phase(0, midx[i], mi) = complex(T(d.s.p2pr[i]), T(d.s.p2pi[i])); | ~~~~~^~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:1522:18: error: call of ‘(const ducc0::detail_mav::vmav, 3>) (int, std::array::value_type&, size_t&)’ is ambiguous 1522 | phase(1, midx[i], mi) = complex(T(d.s.p2mr[i]), T(d.s.p2mi[i])); | ~~~~~^~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht_utils.h: In instantiation of ‘void ducc0::detail_sht::resample_leg_CC_to_irregular(const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::vmav, 3>&, const ducc0::detail_mav::cmav&, size_t, const ducc0::detail_mav::cmav&, size_t) [with T = double; size_t = long unsigned int]’: ./src/ducc0/sht/sht.cc:1908:35: required from ‘void ducc0::detail_sht::alm2leg(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::vmav, 3>&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, ptrdiff_t, const ducc0::detail_mav::cmav&, size_t, SHT_mode, bool) [with T = double; size_t = long unsigned int; ptrdiff_t = long int]’ 1908 | resample_leg_CC_to_irregular(leg_tmp, leg, theta, spin, mval, nthreads); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/sht_pymod.cc:315:10: required from ‘pybind11::array ducc0::detail_pymodule_sht::Py2_alm2leg(const pybind11::array&, size_t, size_t, const pybind11::object&, const pybind11::object&, ptrdiff_t, const pybind11::array&, size_t, pybind11::object&, const std::string&, bool) [with T = double; size_t = long unsigned int; ptrdiff_t = long int; std::string = std::__cxx11::basic_string]’ 315 | alm2leg(alm, leg, spin, lmax, mval, mstart, lstride, theta, nthreads, mode, theta_interpol); | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/sht_pymod.cc:327:31: required from here 327 | return Py2_alm2leg(alm, spin, lmax, mval, mstart, lstride, theta, | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 328 | nthreads, leg, mode, theta_interpol); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sht_utils.h:293:19: error: call of ‘(ducc0::detail_mav::vmav, 3>) (size_t&, long unsigned int, size_t)’ is ambiguous 293 | legtmp(iplane,nborder-1-i,mi-rng.lo) = fct2*legtmp(iplane,nborder+1+i,mi-rng.lo); | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht_utils.h:293:63: error: call of ‘(ducc0::detail_mav::vmav, 3>) (size_t&, long unsigned int, size_t)’ is ambiguous 293 | legtmp(iplane,nborder-1-i,mi-rng.lo) = fct2*legtmp(iplane,nborder+1+i,mi-rng.lo); | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht_utils.h:294:19: error: call of ‘(ducc0::detail_mav::vmav, 3>) (size_t&, long unsigned int, size_t)’ is ambiguous 294 | legtmp(iplane,nborder+ntheta_b+i,mi-rng.lo) = fct2*legtmp(iplane,nborder+ntheta_b-2-i,mi-rng.lo); | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht_utils.h:294:70: error: call of ‘(ducc0::detail_mav::vmav, 3>) (size_t&, long unsigned int, size_t)’ is ambiguous 294 | legtmp(iplane,nborder+ntheta_b+i,mi-rng.lo) = fct2*legtmp(iplane,nborder+ntheta_b-2-i,mi-rng.lo); | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht_utils.h:314:19: error: call of ‘(const ducc0::detail_mav::vmav, 3>) (size_t&, size_t&, size_t&)’ is ambiguous 314 | lego(iplane, itheta, mi) = complex(vbuf(mi-rng.lo)); | ~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc: In instantiation of ‘void ducc0::detail_sht::inner_loop_a2m(SHT_mode, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::vmav, 3>&, const std::vector&, Ylmgen&, size_t) [with T = double; size_t = long unsigned int]’: ./src/ducc0/sht/sht.cc:1936:22: required from ‘void ducc0::detail_sht::alm2leg(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::vmav, 3>&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, ptrdiff_t, const ducc0::detail_mav::cmav&, size_t, SHT_mode, bool) [with T = double; size_t = long unsigned int; ptrdiff_t = long int]’ 1936 | inner_loop_a2m (mode, almtmp, leg, rdata, gen, mi); | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/sht_pymod.cc:315:10: required from ‘pybind11::array ducc0::detail_pymodule_sht::Py2_alm2leg(const pybind11::array&, size_t, size_t, const pybind11::object&, const pybind11::object&, ptrdiff_t, const pybind11::array&, size_t, pybind11::object&, const std::string&, bool) [with T = double; size_t = long unsigned int; ptrdiff_t = long int; std::string = std::__cxx11::basic_string]’ 315 | alm2leg(alm, leg, spin, lmax, mval, mstart, lstride, theta, nthreads, mode, theta_interpol); | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/sht_pymod.cc:327:31: required from here 327 | return Py2_alm2leg(alm, spin, lmax, mval, mstart, lstride, theta, | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 328 | nthreads, leg, mode, theta_interpol); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sht.cc:1413:16: error: call of ‘(const ducc0::detail_mav::vmav, 3>) (int, const size_t&, size_t&)’ is ambiguous 1413 | phase(0, rdata[ith].idx, mi) = phase(0, rdata[ith].midx, mi) = 0; | ~~~~~^~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:1413:47: error: call of ‘(const ducc0::detail_mav::vmav, 3>) (int, const size_t&, size_t&)’ is ambiguous 1413 | phase(0, rdata[ith].idx, mi) = phase(0, rdata[ith].midx, mi) = 0; | ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:1442:16: error: call of ‘(const ducc0::detail_mav::vmav, 3>) (int, std::array::value_type&, size_t&)’ is ambiguous 1442 | phase(0, idx[i], mi) = complex(T(d.s.p1r[i]),T(d.s.p1i[i])); | ~~~~~^~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:1444:18: error: call of ‘(const ducc0::detail_mav::vmav, 3>) (int, std::array::value_type&, size_t&)’ is ambiguous 1444 | phase(0, midx[i], mi) = complex(T(d.s.p2r[i]),T(d.s.p2i[i])); | ~~~~~^~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:1474:16: error: call of ‘(const ducc0::detail_mav::vmav, 3>) (int, const size_t&, size_t&)’ is ambiguous 1474 | phase(0, rdata[ith].idx, mi) = phase(0, rdata[ith].midx, mi) = 0; | ~~~~~^~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:1474:47: error: call of ‘(const ducc0::detail_mav::vmav, 3>) (int, const size_t&, size_t&)’ is ambiguous 1474 | phase(0, rdata[ith].idx, mi) = phase(0, rdata[ith].midx, mi) = 0; | ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:1475:16: error: call of ‘(const ducc0::detail_mav::vmav, 3>) (int, const size_t&, size_t&)’ is ambiguous 1475 | phase(1, rdata[ith].idx, mi) = phase(1, rdata[ith].midx, mi) = 0; | ~~~~~^~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:1475:47: error: call of ‘(const ducc0::detail_mav::vmav, 3>) (int, const size_t&, size_t&)’ is ambiguous 1475 | phase(1, rdata[ith].idx, mi) = phase(1, rdata[ith].midx, mi) = 0; | ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:1517:16: error: call of ‘(const ducc0::detail_mav::vmav, 3>) (int, std::array::value_type&, size_t&)’ is ambiguous 1517 | phase(0, idx[i], mi) = complex(T(d.s.p1pr[i]), T(d.s.p1pi[i])); | ~~~~~^~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:1518:16: error: call of ‘(const ducc0::detail_mav::vmav, 3>) (int, std::array::value_type&, size_t&)’ is ambiguous 1518 | phase(1, idx[i], mi) = complex(T(d.s.p1mr[i]), T(d.s.p1mi[i])); | ~~~~~^~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:1521:18: error: call of ‘(const ducc0::detail_mav::vmav, 3>) (int, std::array::value_type&, size_t&)’ is ambiguous 1521 | phase(0, midx[i], mi) = complex(T(d.s.p2pr[i]), T(d.s.p2pi[i])); | ~~~~~^~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:1522:18: error: call of ‘(const ducc0::detail_mav::vmav, 3>) (int, std::array::value_type&, size_t&)’ is ambiguous 1522 | phase(1, midx[i], mi) = complex(T(d.s.p2mr[i]), T(d.s.p2mi[i])); | ~~~~~^~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht_utils.h: In instantiation of ‘void ducc0::detail_sht::resample_leg_irregular_to_CC(const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::vmav, 3>&, const ducc0::detail_mav::cmav&, size_t, const ducc0::detail_mav::cmav&, size_t) [with T = float; size_t = long unsigned int]’: ./src/ducc0/sht/sht.cc:2003:35: required from ‘void ducc0::detail_sht::leg2alm(const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav, 3>&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, ptrdiff_t, const ducc0::detail_mav::cmav&, size_t, SHT_mode, bool) [with T = float; size_t = long unsigned int; ptrdiff_t = long int]’ 2003 | resample_leg_irregular_to_CC(leg, leg_tmp, theta, spin, mval, nthreads); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/sht_pymod.cc:355:10: required from ‘pybind11::array ducc0::detail_pymodule_sht::Py2_leg2alm(const pybind11::array&, const pybind11::array&, size_t, size_t, const pybind11::object&, const pybind11::object&, ptrdiff_t, size_t, pybind11::object&, const std::string&, bool) [with T = float; size_t = long unsigned int; ptrdiff_t = long int; std::string = std::__cxx11::basic_string]’ 355 | leg2alm(alm, leg, spin, lmax, mval, mstart, lstride, theta, nthreads, mode, theta_interpol); | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/sht_pymod.cc:364:30: required from here 364 | return Py2_leg2alm(leg, theta, spin, lmax, mval, mstart, lstride, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 365 | nthreads, alm, mode, theta_interpol); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sht_utils.h:377:23: error: call of ‘(ducc0::detail_mav::vmav, 3>) (size_t&, size_t, size_t)’ is ambiguous 377 | legtmp(iplane, idx00+i, mi-rng.lo) += legi(iplane, itheta, mi)*T(lbuf[i]); | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht_utils.h:389:19: error: call of ‘(ducc0::detail_mav::vmav, 3>) (size_t&, long unsigned int, size_t)’ is ambiguous 389 | legtmp(iplane,nborder+1+i,mi-rng.lo) += fct2*legtmp(iplane,nborder-1-i,mi-rng.lo); | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht_utils.h:389:64: error: call of ‘(ducc0::detail_mav::vmav, 3>) (size_t&, long unsigned int, size_t)’ is ambiguous 389 | legtmp(iplane,nborder+1+i,mi-rng.lo) += fct2*legtmp(iplane,nborder-1-i,mi-rng.lo); | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht_utils.h:390:19: error: call of ‘(ducc0::detail_mav::vmav, 3>) (size_t&, long unsigned int, size_t)’ is ambiguous 390 | legtmp(iplane,nborder+ntheta_b-2-i,mi-rng.lo) += fct2*legtmp(iplane,nborder+ntheta_b+i,mi-rng.lo); | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht_utils.h:390:73: error: call of ‘(ducc0::detail_mav::vmav, 3>) (size_t&, long unsigned int, size_t)’ is ambiguous 390 | legtmp(iplane,nborder+ntheta_b-2-i,mi-rng.lo) += fct2*legtmp(iplane,nborder+ntheta_b+i,mi-rng.lo); | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht_utils.h: In instantiation of ‘void ducc0::detail_sht::resample_leg_irregular_to_CC(const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::vmav, 3>&, const ducc0::detail_mav::cmav&, size_t, const ducc0::detail_mav::cmav&, size_t) [with T = double; size_t = long unsigned int]’: ./src/ducc0/sht/sht.cc:2003:35: required from ‘void ducc0::detail_sht::leg2alm(const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav, 3>&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, ptrdiff_t, const ducc0::detail_mav::cmav&, size_t, SHT_mode, bool) [with T = double; size_t = long unsigned int; ptrdiff_t = long int]’ 2003 | resample_leg_irregular_to_CC(leg, leg_tmp, theta, spin, mval, nthreads); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/sht_pymod.cc:355:10: required from ‘pybind11::array ducc0::detail_pymodule_sht::Py2_leg2alm(const pybind11::array&, const pybind11::array&, size_t, size_t, const pybind11::object&, const pybind11::object&, ptrdiff_t, size_t, pybind11::object&, const std::string&, bool) [with T = double; size_t = long unsigned int; ptrdiff_t = long int; std::string = std::__cxx11::basic_string]’ 355 | leg2alm(alm, leg, spin, lmax, mval, mstart, lstride, theta, nthreads, mode, theta_interpol); | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/sht_pymod.cc:367:31: required from here 367 | return Py2_leg2alm(leg, theta, spin, lmax, mval, mstart, lstride, | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 368 | nthreads, alm, mode, theta_interpol); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sht_utils.h:377:23: error: call of ‘(ducc0::detail_mav::vmav, 3>) (size_t&, size_t, size_t)’ is ambiguous 377 | legtmp(iplane, idx00+i, mi-rng.lo) += legi(iplane, itheta, mi)*T(lbuf[i]); | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht_utils.h:389:19: error: call of ‘(ducc0::detail_mav::vmav, 3>) (size_t&, long unsigned int, size_t)’ is ambiguous 389 | legtmp(iplane,nborder+1+i,mi-rng.lo) += fct2*legtmp(iplane,nborder-1-i,mi-rng.lo); | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht_utils.h:389:64: error: call of ‘(ducc0::detail_mav::vmav, 3>) (size_t&, long unsigned int, size_t)’ is ambiguous 389 | legtmp(iplane,nborder+1+i,mi-rng.lo) += fct2*legtmp(iplane,nborder-1-i,mi-rng.lo); | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht_utils.h:390:19: error: call of ‘(ducc0::detail_mav::vmav, 3>) (size_t&, long unsigned int, size_t)’ is ambiguous 390 | legtmp(iplane,nborder+ntheta_b-2-i,mi-rng.lo) += fct2*legtmp(iplane,nborder+ntheta_b+i,mi-rng.lo); | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht_utils.h:390:73: error: call of ‘(ducc0::detail_mav::vmav, 3>) (size_t&, long unsigned int, size_t)’ is ambiguous 390 | legtmp(iplane,nborder+ntheta_b-2-i,mi-rng.lo) += fct2*legtmp(iplane,nborder+ntheta_b+i,mi-rng.lo); | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc: In instantiation of ‘void ducc0::detail_sht::ringhelper::ring2phase(size_t, double, const ducc0::detail_mav::vmav&, size_t, const ducc0::detail_mav::vmav, 1>&) [with T = float; size_t = long unsigned int]’: ./src/ducc0/sht/sht.cc:2185:29: required from ‘void ducc0::detail_sht::map2leg(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, ptrdiff_t, size_t) [with T = float; ptrdiff_t = long int; size_t = long unsigned int]’ 2185 | helper.ring2phase (nphi(ith),phi0(ith),ringtmp,mmax,ltmp); | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/sht_pymod.cc:386:10: required from ‘pybind11::array ducc0::detail_pymodule_sht::Py2_map2leg(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::array&, size_t, ptrdiff_t, size_t, pybind11::object&) [with T = float; size_t = long unsigned int; ptrdiff_t = long int]’ 386 | map2leg(map, leg, nphi, phi0, ringstart, pixstride, nthreads); | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/sht_pymod.cc:395:30: required from here 395 | return Py2_map2leg(map, nphi, phi0, ringstart, mmax, pixstride, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 396 | nthreads, leg); | ~~~~~~~~~~~~~~ ./src/ducc0/sht/sht.cc:359:16: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 359 | phase(m) = complex(T(data(2*m)), T(data(2*m+1))); | ~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:362:16: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 362 | phase(m) = complex(dcmplx(data(2*m), data(2*m+1)) * shiftarr[m]); | ~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:375:14: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 375 | phase(m)=complex(val); | ~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc: In instantiation of ‘void ducc0::detail_sht::ringhelper::ring2phase(size_t, double, const ducc0::detail_mav::vmav&, size_t, const ducc0::detail_mav::vmav, 1>&) [with T = double; size_t = long unsigned int]’: ./src/ducc0/sht/sht.cc:2185:29: required from ‘void ducc0::detail_sht::map2leg(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, ptrdiff_t, size_t) [with T = double; ptrdiff_t = long int; size_t = long unsigned int]’ 2185 | helper.ring2phase (nphi(ith),phi0(ith),ringtmp,mmax,ltmp); | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/sht_pymod.cc:386:10: required from ‘pybind11::array ducc0::detail_pymodule_sht::Py2_map2leg(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::array&, size_t, ptrdiff_t, size_t, pybind11::object&) [with T = double; size_t = long unsigned int; ptrdiff_t = long int]’ 386 | map2leg(map, leg, nphi, phi0, ringstart, pixstride, nthreads); | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/sht_pymod.cc:398:31: required from here 398 | return Py2_map2leg(map, nphi, phi0, ringstart, mmax, pixstride, | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 399 | nthreads, leg); | ~~~~~~~~~~~~~~ ./src/ducc0/sht/sht.cc:359:16: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 359 | phase(m) = complex(T(data(2*m)), T(data(2*m+1))); | ~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:362:16: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 362 | phase(m) = complex(dcmplx(data(2*m), data(2*m+1)) * shiftarr[m]); | ~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sht.cc:375:14: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 375 | phase(m)=complex(val); | ~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/fft/fftnd_impl.h: In instantiation of ‘void ducc0::detail_fft::hermiteHelper(size_t, ptrdiff_t, ptrdiff_t, ptrdiff_t, const ducc0::detail_mav::cfmav&, const ducc0::detail_mav::vfmav&, const shape_t&, Func, size_t) [with T0 = std::complex; T1 = double; Func = r2r_genuine_hartley(const ducc0::detail_mav::cfmav&, const ducc0::detail_mav::vfmav&, const shape_t&, double, size_t)::&, double&, double&)>; size_t = long unsigned int; ptrdiff_t = long int; shape_t = std::vector]’: ./src/ducc0/fft/fftnd_impl.h:1665:16: required from ‘void ducc0::detail_fft::r2r_genuine_hartley(const ducc0::detail_mav::cfmav&, const ducc0::detail_mav::vfmav&, const shape_t&, T, size_t) [with T = double; shape_t = std::vector; size_t = long unsigned int]’ 1665 | hermiteHelper(0, 0, 0, 0, atmp, out, axes, [](const std::complex &c, T &r0, T &r1) | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1666 | { | ~ 1667 | auto ccopy = c; | ~~~~~~~~~~~~~~~ 1668 | r0 = ccopy.real()+ccopy.imag(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1669 | r1 = ccopy.real()-ccopy.imag(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1670 | }, nthreads); | ~~~~~~~~~~~~ ./python/fft_pymod.cc:370:29: required from ‘pybind11::array ducc0::detail_pymodule_fft::{anonymous}::genuine_hartley_internal(const pybind11::array&, const pybind11::object&, int, pybind11::object&, std::size_t) [with T = double; std::size_t = long unsigned int]’ 370 | ducc0::r2r_genuine_hartley(ain, aout, axes, fct, nthreads); | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/fft_pymod.cc:378:3: required from here 378 | DISPATCH(in, f64, f32, flong, genuine_hartley_internal, (in, axes_, inorm, | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ 379 | out_, nthreads)) | ~~~~~~~~~~~~~~~ ./src/ducc0/fft/fftnd_impl.h:1568:39: error: call of overloaded ‘raw(long unsigned int)’ is ambiguous 1568 | func (c.raw(iin+i*cstr), r.raw(iout0+i*str), r.raw(iout1+ic*str)); | ~~~~~^~~~~~~~~~~~~ ./src/ducc0/fft/fftnd_impl.h:1568:39: note: there are 2 candidates ./src/ducc0/infra/mav.h:119:35: note: candidate 1: ‘const T& ducc0::detail_mav::cmembuf::raw(I) const [with I = long unsigned int; T = double]’ 119 | template const T &raw(I i) const | ^~~ ./src/ducc0/infra/mav.h:659:29: note: candidate 2: ‘T& ducc0::detail_mav::vfmav::raw(I) const [with I = long unsigned int; T = double]’ 659 | template T &raw(I i) const | ^~~ ./src/ducc0/fft/fftnd_impl.h:1568:59: error: call of overloaded ‘raw(long unsigned int)’ is ambiguous 1568 | func (c.raw(iin+i*cstr), r.raw(iout0+i*str), r.raw(iout1+ic*str)); | ~~~~~^~~~~~~~~~~~~~ ./src/ducc0/fft/fftnd_impl.h:1568:59: note: there are 2 candidates ./src/ducc0/infra/mav.h:119:35: note: candidate 1: ‘const T& ducc0::detail_mav::cmembuf::raw(I) const [with I = long unsigned int; T = double]’ 119 | template const T &raw(I i) const | ^~~ ./src/ducc0/infra/mav.h:659:29: note: candidate 2: ‘T& ducc0::detail_mav::vfmav::raw(I) const [with I = long unsigned int; T = double]’ 659 | template T &raw(I i) const | ^~~ ./src/ducc0/fft/fftnd_impl.h:1571:39: error: call of overloaded ‘raw(long unsigned int)’ is ambiguous 1571 | func (c.raw(iin+i*cstr), r.raw(iout0+i*str), r.raw(iout1+ic*str)); | ~~~~~^~~~~~~~~~~~~ ./src/ducc0/fft/fftnd_impl.h:1571:39: note: there are 2 candidates ./src/ducc0/infra/mav.h:119:35: note: candidate 1: ‘const T& ducc0::detail_mav::cmembuf::raw(I) const [with I = long unsigned int; T = double]’ 119 | template const T &raw(I i) const | ^~~ ./src/ducc0/infra/mav.h:659:29: note: candidate 2: ‘T& ducc0::detail_mav::vfmav::raw(I) const [with I = long unsigned int; T = double]’ 659 | template T &raw(I i) const | ^~~ ./src/ducc0/fft/fftnd_impl.h:1571:59: error: call of overloaded ‘raw(long unsigned int)’ is ambiguous 1571 | func (c.raw(iin+i*cstr), r.raw(iout0+i*str), r.raw(iout1+ic*str)); | ~~~~~^~~~~~~~~~~~~~ ./src/ducc0/fft/fftnd_impl.h:1571:59: note: there are 2 candidates ./src/ducc0/infra/mav.h:119:35: note: candidate 1: ‘const T& ducc0::detail_mav::cmembuf::raw(I) const [with I = long unsigned int; T = double]’ 119 | template const T &raw(I i) const | ^~~ ./src/ducc0/infra/mav.h:659:29: note: candidate 2: ‘T& ducc0::detail_mav::vfmav::raw(I) const [with I = long unsigned int; T = double]’ 659 | template T &raw(I i) const | ^~~ ./src/ducc0/fft/fftnd_impl.h:1574:39: error: call of overloaded ‘raw(long unsigned int)’ is ambiguous 1574 | func (c.raw(iin+i*cstr), r.raw(iout0+i*str), r.raw(iout1+i*str)); | ~~~~~^~~~~~~~~~~~~ ./src/ducc0/fft/fftnd_impl.h:1574:39: note: there are 2 candidates ./src/ducc0/infra/mav.h:119:35: note: candidate 1: ‘const T& ducc0::detail_mav::cmembuf::raw(I) const [with I = long unsigned int; T = double]’ 119 | template const T &raw(I i) const | ^~~ ./src/ducc0/infra/mav.h:659:29: note: candidate 2: ‘T& ducc0::detail_mav::vfmav::raw(I) const [with I = long unsigned int; T = double]’ 659 | template T &raw(I i) const | ^~~ ./src/ducc0/fft/fftnd_impl.h:1574:59: error: call of overloaded ‘raw(long unsigned int)’ is ambiguous 1574 | func (c.raw(iin+i*cstr), r.raw(iout0+i*str), r.raw(iout1+i*str)); | ~~~~~^~~~~~~~~~~~~ ./src/ducc0/fft/fftnd_impl.h:1574:59: note: there are 2 candidates ./src/ducc0/infra/mav.h:119:35: note: candidate 1: ‘const T& ducc0::detail_mav::cmembuf::raw(I) const [with I = long unsigned int; T = double]’ 119 | template const T &raw(I i) const | ^~~ ./src/ducc0/infra/mav.h:659:29: note: candidate 2: ‘T& ducc0::detail_mav::vfmav::raw(I) const [with I = long unsigned int; T = double]’ 659 | template T &raw(I i) const | ^~~ ./src/ducc0/fft/fftnd_impl.h: In instantiation of ‘void ducc0::detail_fft::hermiteHelper(size_t, ptrdiff_t, ptrdiff_t, ptrdiff_t, const ducc0::detail_mav::cfmav&, const ducc0::detail_mav::vfmav&, const shape_t&, Func, size_t) [with T0 = std::complex; T1 = float; Func = r2r_genuine_hartley(const ducc0::detail_mav::cfmav&, const ducc0::detail_mav::vfmav&, const shape_t&, float, size_t)::&, float&, float&)>; size_t = long unsigned int; ptrdiff_t = long int; shape_t = std::vector]’: ./src/ducc0/fft/fftnd_impl.h:1665:16: required from ‘void ducc0::detail_fft::r2r_genuine_hartley(const ducc0::detail_mav::cfmav&, const ducc0::detail_mav::vfmav&, const shape_t&, T, size_t) [with T = float; shape_t = std::vector; size_t = long unsigned int]’ 1665 | hermiteHelper(0, 0, 0, 0, atmp, out, axes, [](const std::complex &c, T &r0, T &r1) | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1666 | { | ~ 1667 | auto ccopy = c; | ~~~~~~~~~~~~~~~ 1668 | r0 = ccopy.real()+ccopy.imag(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1669 | r1 = ccopy.real()-ccopy.imag(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1670 | }, nthreads); | ~~~~~~~~~~~~ ./python/fft_pymod.cc:370:29: required from ‘pybind11::array ducc0::detail_pymodule_fft::{anonymous}::genuine_hartley_internal(const pybind11::array&, const pybind11::object&, int, pybind11::object&, std::size_t) [with T = float; std::size_t = long unsigned int]’ 370 | ducc0::r2r_genuine_hartley(ain, aout, axes, fct, nthreads); | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/fft_pymod.cc:378:3: required from here 378 | DISPATCH(in, f64, f32, flong, genuine_hartley_internal, (in, axes_, inorm, | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ 379 | out_, nthreads)) | ~~~~~~~~~~~~~~~ ./src/ducc0/fft/fftnd_impl.h:1568:39: error: call of overloaded ‘raw(long unsigned int)’ is ambiguous 1568 | func (c.raw(iin+i*cstr), r.raw(iout0+i*str), r.raw(iout1+ic*str)); | ~~~~~^~~~~~~~~~~~~ ./src/ducc0/fft/fftnd_impl.h:1568:39: note: there are 2 candidates ./src/ducc0/infra/mav.h:119:35: note: candidate 1: ‘const T& ducc0::detail_mav::cmembuf::raw(I) const [with I = long unsigned int; T = float]’ 119 | template const T &raw(I i) const | ^~~ ./src/ducc0/infra/mav.h:659:29: note: candidate 2: ‘T& ducc0::detail_mav::vfmav::raw(I) const [with I = long unsigned int; T = float]’ 659 | template T &raw(I i) const | ^~~ ./src/ducc0/fft/fftnd_impl.h:1568:59: error: call of overloaded ‘raw(long unsigned int)’ is ambiguous 1568 | func (c.raw(iin+i*cstr), r.raw(iout0+i*str), r.raw(iout1+ic*str)); | ~~~~~^~~~~~~~~~~~~~ ./src/ducc0/fft/fftnd_impl.h:1568:59: note: there are 2 candidates ./src/ducc0/infra/mav.h:119:35: note: candidate 1: ‘const T& ducc0::detail_mav::cmembuf::raw(I) const [with I = long unsigned int; T = float]’ 119 | template const T &raw(I i) const | ^~~ ./src/ducc0/infra/mav.h:659:29: note: candidate 2: ‘T& ducc0::detail_mav::vfmav::raw(I) const [with I = long unsigned int; T = float]’ 659 | template T &raw(I i) const | ^~~ ./src/ducc0/fft/fftnd_impl.h:1571:39: error: call of overloaded ‘raw(long unsigned int)’ is ambiguous 1571 | func (c.raw(iin+i*cstr), r.raw(iout0+i*str), r.raw(iout1+ic*str)); | ~~~~~^~~~~~~~~~~~~ ./src/ducc0/fft/fftnd_impl.h:1571:39: note: there are 2 candidates ./src/ducc0/infra/mav.h:119:35: note: candidate 1: ‘const T& ducc0::detail_mav::cmembuf::raw(I) const [with I = long unsigned int; T = float]’ 119 | template const T &raw(I i) const | ^~~ ./src/ducc0/infra/mav.h:659:29: note: candidate 2: ‘T& ducc0::detail_mav::vfmav::raw(I) const [with I = long unsigned int; T = float]’ 659 | template T &raw(I i) const | ^~~ ./src/ducc0/fft/fftnd_impl.h:1571:59: error: call of overloaded ‘raw(long unsigned int)’ is ambiguous 1571 | func (c.raw(iin+i*cstr), r.raw(iout0+i*str), r.raw(iout1+ic*str)); | ~~~~~^~~~~~~~~~~~~~ ./src/ducc0/fft/fftnd_impl.h:1571:59: note: there are 2 candidates ./src/ducc0/infra/mav.h:119:35: note: candidate 1: ‘const T& ducc0::detail_mav::cmembuf::raw(I) const [with I = long unsigned int; T = float]’ 119 | template const T &raw(I i) const | ^~~ ./src/ducc0/infra/mav.h:659:29: note: candidate 2: ‘T& ducc0::detail_mav::vfmav::raw(I) const [with I = long unsigned int; T = float]’ 659 | template T &raw(I i) const | ^~~ ./src/ducc0/fft/fftnd_impl.h:1574:39: error: call of overloaded ‘raw(long unsigned int)’ is ambiguous 1574 | func (c.raw(iin+i*cstr), r.raw(iout0+i*str), r.raw(iout1+i*str)); | ~~~~~^~~~~~~~~~~~~ ./src/ducc0/fft/fftnd_impl.h:1574:39: note: there are 2 candidates ./src/ducc0/infra/mav.h:119:35: note: candidate 1: ‘const T& ducc0::detail_mav::cmembuf::raw(I) const [with I = long unsigned int; T = float]’ 119 | template const T &raw(I i) const | ^~~ ./src/ducc0/infra/mav.h:659:29: note: candidate 2: ‘T& ducc0::detail_mav::vfmav::raw(I) const [with I = long unsigned int; T = float]’ 659 | template T &raw(I i) const | ^~~ ./src/ducc0/fft/fftnd_impl.h:1574:59: error: call of overloaded ‘raw(long unsigned int)’ is ambiguous 1574 | func (c.raw(iin+i*cstr), r.raw(iout0+i*str), r.raw(iout1+i*str)); | ~~~~~^~~~~~~~~~~~~ ./src/ducc0/fft/fftnd_impl.h:1574:59: note: there are 2 candidates ./src/ducc0/infra/mav.h:119:35: note: candidate 1: ‘const T& ducc0::detail_mav::cmembuf::raw(I) const [with I = long unsigned int; T = float]’ 119 | template const T &raw(I i) const | ^~~ ./src/ducc0/infra/mav.h:659:29: note: candidate 2: ‘T& ducc0::detail_mav::vfmav::raw(I) const [with I = long unsigned int; T = float]’ 659 | template T &raw(I i) const | ^~~ ./src/ducc0/fft/fftnd_impl.h: In instantiation of ‘void ducc0::detail_fft::hermiteHelper(size_t, ptrdiff_t, ptrdiff_t, ptrdiff_t, const ducc0::detail_mav::cfmav&, const ducc0::detail_mav::vfmav&, const shape_t&, Func, size_t) [with T0 = std::complex; T1 = long double; Func = r2r_genuine_hartley(const ducc0::detail_mav::cfmav&, const ducc0::detail_mav::vfmav&, const shape_t&, long double, size_t)::&, long double&, long double&)>; size_t = long unsigned int; ptrdiff_t = long int; shape_t = std::vector]’: ./src/ducc0/fft/fftnd_impl.h:1665:16: required from ‘void ducc0::detail_fft::r2r_genuine_hartley(const ducc0::detail_mav::cfmav&, const ducc0::detail_mav::vfmav&, const shape_t&, T, size_t) [with T = long double; shape_t = std::vector; size_t = long unsigned int]’ 1665 | hermiteHelper(0, 0, 0, 0, atmp, out, axes, [](const std::complex &c, T &r0, T &r1) | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1666 | { | ~ 1667 | auto ccopy = c; | ~~~~~~~~~~~~~~~ 1668 | r0 = ccopy.real()+ccopy.imag(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1669 | r1 = ccopy.real()-ccopy.imag(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1670 | }, nthreads); | ~~~~~~~~~~~~ ./python/fft_pymod.cc:370:29: required from ‘pybind11::array ducc0::detail_pymodule_fft::{anonymous}::genuine_hartley_internal(const pybind11::array&, const pybind11::object&, int, pybind11::object&, std::size_t) [with T = long double; std::size_t = long unsigned int]’ 370 | ducc0::r2r_genuine_hartley(ain, aout, axes, fct, nthreads); | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/fft_pymod.cc:378:3: required from here 378 | DISPATCH(in, f64, f32, flong, genuine_hartley_internal, (in, axes_, inorm, | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ 379 | out_, nthreads)) | ~~~~~~~~~~~~~~~ ./src/ducc0/fft/fftnd_impl.h:1568:39: error: call of overloaded ‘raw(long unsigned int)’ is ambiguous 1568 | func (c.raw(iin+i*cstr), r.raw(iout0+i*str), r.raw(iout1+ic*str)); | ~~~~~^~~~~~~~~~~~~ ./src/ducc0/fft/fftnd_impl.h:1568:39: note: there are 2 candidates ./src/ducc0/infra/mav.h:119:35: note: candidate 1: ‘const T& ducc0::detail_mav::cmembuf::raw(I) const [with I = long unsigned int; T = long double]’ 119 | template const T &raw(I i) const | ^~~ ./src/ducc0/infra/mav.h:659:29: note: candidate 2: ‘T& ducc0::detail_mav::vfmav::raw(I) const [with I = long unsigned int; T = long double]’ 659 | template T &raw(I i) const | ^~~ ./src/ducc0/fft/fftnd_impl.h:1568:59: error: call of overloaded ‘raw(long unsigned int)’ is ambiguous 1568 | func (c.raw(iin+i*cstr), r.raw(iout0+i*str), r.raw(iout1+ic*str)); | ~~~~~^~~~~~~~~~~~~~ ./src/ducc0/fft/fftnd_impl.h:1568:59: note: there are 2 candidates ./src/ducc0/infra/mav.h:119:35: note: candidate 1: ‘const T& ducc0::detail_mav::cmembuf::raw(I) const [with I = long unsigned int; T = long double]’ 119 | template const T &raw(I i) const | ^~~ ./src/ducc0/infra/mav.h:659:29: note: candidate 2: ‘T& ducc0::detail_mav::vfmav::raw(I) const [with I = long unsigned int; T = long double]’ 659 | template T &raw(I i) const | ^~~ ./src/ducc0/fft/fftnd_impl.h:1571:39: error: call of overloaded ‘raw(long unsigned int)’ is ambiguous 1571 | func (c.raw(iin+i*cstr), r.raw(iout0+i*str), r.raw(iout1+ic*str)); | ~~~~~^~~~~~~~~~~~~ ./src/ducc0/fft/fftnd_impl.h:1571:39: note: there are 2 candidates ./src/ducc0/infra/mav.h:119:35: note: candidate 1: ‘const T& ducc0::detail_mav::cmembuf::raw(I) const [with I = long unsigned int; T = long double]’ 119 | template const T &raw(I i) const | ^~~ ./src/ducc0/infra/mav.h:659:29: note: candidate 2: ‘T& ducc0::detail_mav::vfmav::raw(I) const [with I = long unsigned int; T = long double]’ 659 | template T &raw(I i) const | ^~~ ./src/ducc0/fft/fftnd_impl.h:1571:59: error: call of overloaded ‘raw(long unsigned int)’ is ambiguous 1571 | func (c.raw(iin+i*cstr), r.raw(iout0+i*str), r.raw(iout1+ic*str)); | ~~~~~^~~~~~~~~~~~~~ ./src/ducc0/fft/fftnd_impl.h:1571:59: note: there are 2 candidates ./src/ducc0/infra/mav.h:119:35: note: candidate 1: ‘const T& ducc0::detail_mav::cmembuf::raw(I) const [with I = long unsigned int; T = long double]’ 119 | template const T &raw(I i) const | ^~~ ./src/ducc0/infra/mav.h:659:29: note: candidate 2: ‘T& ducc0::detail_mav::vfmav::raw(I) const [with I = long unsigned int; T = long double]’ 659 | template T &raw(I i) const | ^~~ ./src/ducc0/fft/fftnd_impl.h:1574:39: error: call of overloaded ‘raw(long unsigned int)’ is ambiguous 1574 | func (c.raw(iin+i*cstr), r.raw(iout0+i*str), r.raw(iout1+i*str)); | ~~~~~^~~~~~~~~~~~~ ./src/ducc0/fft/fftnd_impl.h:1574:39: note: there are 2 candidates ./src/ducc0/infra/mav.h:119:35: note: candidate 1: ‘const T& ducc0::detail_mav::cmembuf::raw(I) const [with I = long unsigned int; T = long double]’ 119 | template const T &raw(I i) const | ^~~ ./src/ducc0/infra/mav.h:659:29: note: candidate 2: ‘T& ducc0::detail_mav::vfmav::raw(I) const [with I = long unsigned int; T = long double]’ 659 | template T &raw(I i) const | ^~~ ./src/ducc0/fft/fftnd_impl.h:1574:59: error: call of overloaded ‘raw(long unsigned int)’ is ambiguous 1574 | func (c.raw(iin+i*cstr), r.raw(iout0+i*str), r.raw(iout1+i*str)); | ~~~~~^~~~~~~~~~~~~ ./src/ducc0/fft/fftnd_impl.h:1574:59: note: there are 2 candidates ./src/ducc0/infra/mav.h:119:35: note: candidate 1: ‘const T& ducc0::detail_mav::cmembuf::raw(I) const [with I = long unsigned int; T = long double]’ 119 | template const T &raw(I i) const | ^~~ ./src/ducc0/infra/mav.h:659:29: note: candidate 2: ‘T& ducc0::detail_mav::vfmav::raw(I) const [with I = long unsigned int; T = long double]’ 659 | template T &raw(I i) const | ^~~ ./src/ducc0/fft/fftnd_impl.h: In instantiation of ‘void ducc0::detail_fft::hermiteHelper(size_t, ptrdiff_t, ptrdiff_t, ptrdiff_t, const ducc0::detail_mav::cfmav&, const ducc0::detail_mav::vfmav&, const shape_t&, Func, size_t) [with T0 = std::complex; T1 = double; Func = r2r_genuine_fht(const ducc0::detail_mav::cfmav&, const ducc0::detail_mav::vfmav&, const shape_t&, double, size_t)::&, double&, double&)>; size_t = long unsigned int; ptrdiff_t = long int; shape_t = std::vector]’: ./src/ducc0/fft/fftnd_impl.h:1690:16: required from ‘void ducc0::detail_fft::r2r_genuine_fht(const ducc0::detail_mav::cfmav&, const ducc0::detail_mav::vfmav&, const shape_t&, T, size_t) [with T = double; shape_t = std::vector; size_t = long unsigned int]’ 1690 | hermiteHelper(0, 0, 0, 0, atmp, out, axes, [](const std::complex &c, T &r0, T &r1) | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1691 | { | ~ 1692 | auto ccopy = c; | ~~~~~~~~~~~~~~~ 1693 | r0 = ccopy.real()-ccopy.imag(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1694 | r1 = ccopy.real()+ccopy.imag(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1695 | }, nthreads); | ~~~~~~~~~~~~ ./python/fft_pymod.cc:414:25: required from ‘pybind11::array ducc0::detail_pymodule_fft::{anonymous}::genuine_fht_internal(const pybind11::array&, const pybind11::object&, int, pybind11::object&, std::size_t) [with T = double; std::size_t = long unsigned int]’ 414 | ducc0::r2r_genuine_fht(ain, aout, axes, fct, nthreads); | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/fft_pymod.cc:422:3: required from here 422 | DISPATCH(in, f64, f32, flong, genuine_fht_internal, (in, axes_, inorm, | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ 423 | out_, nthreads)) | ~~~~~~~~~~~~~~~ ./src/ducc0/fft/fftnd_impl.h:1568:39: error: call of overloaded ‘raw(long unsigned int)’ is ambiguous 1568 | func (c.raw(iin+i*cstr), r.raw(iout0+i*str), r.raw(iout1+ic*str)); | ~~~~~^~~~~~~~~~~~~ ./src/ducc0/fft/fftnd_impl.h:1568:39: note: there are 2 candidates ./src/ducc0/infra/mav.h:119:35: note: candidate 1: ‘const T& ducc0::detail_mav::cmembuf::raw(I) const [with I = long unsigned int; T = double]’ 119 | template const T &raw(I i) const | ^~~ ./src/ducc0/infra/mav.h:659:29: note: candidate 2: ‘T& ducc0::detail_mav::vfmav::raw(I) const [with I = long unsigned int; T = double]’ 659 | template T &raw(I i) const | ^~~ ./src/ducc0/fft/fftnd_impl.h:1568:59: error: call of overloaded ‘raw(long unsigned int)’ is ambiguous 1568 | func (c.raw(iin+i*cstr), r.raw(iout0+i*str), r.raw(iout1+ic*str)); | ~~~~~^~~~~~~~~~~~~~ ./src/ducc0/fft/fftnd_impl.h:1568:59: note: there are 2 candidates ./src/ducc0/infra/mav.h:119:35: note: candidate 1: ‘const T& ducc0::detail_mav::cmembuf::raw(I) const [with I = long unsigned int; T = double]’ 119 | template const T &raw(I i) const | ^~~ ./src/ducc0/infra/mav.h:659:29: note: candidate 2: ‘T& ducc0::detail_mav::vfmav::raw(I) const [with I = long unsigned int; T = double]’ 659 | template T &raw(I i) const | ^~~ ./src/ducc0/fft/fftnd_impl.h:1571:39: error: call of overloaded ‘raw(long unsigned int)’ is ambiguous 1571 | func (c.raw(iin+i*cstr), r.raw(iout0+i*str), r.raw(iout1+ic*str)); | ~~~~~^~~~~~~~~~~~~ ./src/ducc0/fft/fftnd_impl.h:1571:39: note: there are 2 candidates ./src/ducc0/infra/mav.h:119:35: note: candidate 1: ‘const T& ducc0::detail_mav::cmembuf::raw(I) const [with I = long unsigned int; T = double]’ 119 | template const T &raw(I i) const | ^~~ ./src/ducc0/infra/mav.h:659:29: note: candidate 2: ‘T& ducc0::detail_mav::vfmav::raw(I) const [with I = long unsigned int; T = double]’ 659 | template T &raw(I i) const | ^~~ ./src/ducc0/fft/fftnd_impl.h:1571:59: error: call of overloaded ‘raw(long unsigned int)’ is ambiguous 1571 | func (c.raw(iin+i*cstr), r.raw(iout0+i*str), r.raw(iout1+ic*str)); | ~~~~~^~~~~~~~~~~~~~ ./src/ducc0/fft/fftnd_impl.h:1571:59: note: there are 2 candidates ./src/ducc0/infra/mav.h:119:35: note: candidate 1: ‘const T& ducc0::detail_mav::cmembuf::raw(I) const [with I = long unsigned int; T = double]’ 119 | template const T &raw(I i) const | ^~~ ./src/ducc0/infra/mav.h:659:29: note: candidate 2: ‘T& ducc0::detail_mav::vfmav::raw(I) const [with I = long unsigned int; T = double]’ 659 | template T &raw(I i) const | ^~~ ./src/ducc0/fft/fftnd_impl.h:1574:39: error: call of overloaded ‘raw(long unsigned int)’ is ambiguous 1574 | func (c.raw(iin+i*cstr), r.raw(iout0+i*str), r.raw(iout1+i*str)); | ~~~~~^~~~~~~~~~~~~ ./src/ducc0/fft/fftnd_impl.h:1574:39: note: there are 2 candidates ./src/ducc0/infra/mav.h:119:35: note: candidate 1: ‘const T& ducc0::detail_mav::cmembuf::raw(I) const [with I = long unsigned int; T = double]’ 119 | template const T &raw(I i) const | ^~~ ./src/ducc0/infra/mav.h:659:29: note: candidate 2: ‘T& ducc0::detail_mav::vfmav::raw(I) const [with I = long unsigned int; T = double]’ 659 | template T &raw(I i) const | ^~~ ./src/ducc0/fft/fftnd_impl.h:1574:59: error: call of overloaded ‘raw(long unsigned int)’ is ambiguous 1574 | func (c.raw(iin+i*cstr), r.raw(iout0+i*str), r.raw(iout1+i*str)); | ~~~~~^~~~~~~~~~~~~ ./src/ducc0/fft/fftnd_impl.h:1574:59: note: there are 2 candidates ./src/ducc0/infra/mav.h:119:35: note: candidate 1: ‘const T& ducc0::detail_mav::cmembuf::raw(I) const [with I = long unsigned int; T = double]’ 119 | template const T &raw(I i) const | ^~~ ./src/ducc0/infra/mav.h:659:29: note: candidate 2: ‘T& ducc0::detail_mav::vfmav::raw(I) const [with I = long unsigned int; T = double]’ 659 | template T &raw(I i) const | ^~~ ./src/ducc0/fft/fftnd_impl.h: In instantiation of ‘void ducc0::detail_fft::hermiteHelper(size_t, ptrdiff_t, ptrdiff_t, ptrdiff_t, const ducc0::detail_mav::cfmav&, const ducc0::detail_mav::vfmav&, const shape_t&, Func, size_t) [with T0 = std::complex; T1 = float; Func = r2r_genuine_fht(const ducc0::detail_mav::cfmav&, const ducc0::detail_mav::vfmav&, const shape_t&, float, size_t)::&, float&, float&)>; size_t = long unsigned int; ptrdiff_t = long int; shape_t = std::vector]’: ./src/ducc0/fft/fftnd_impl.h:1690:16: required from ‘void ducc0::detail_fft::r2r_genuine_fht(const ducc0::detail_mav::cfmav&, const ducc0::detail_mav::vfmav&, const shape_t&, T, size_t) [with T = float; shape_t = std::vector; size_t = long unsigned int]’ 1690 | hermiteHelper(0, 0, 0, 0, atmp, out, axes, [](const std::complex &c, T &r0, T &r1) | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1691 | { | ~ 1692 | auto ccopy = c; | ~~~~~~~~~~~~~~~ 1693 | r0 = ccopy.real()-ccopy.imag(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1694 | r1 = ccopy.real()+ccopy.imag(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1695 | }, nthreads); | ~~~~~~~~~~~~ ./python/fft_pymod.cc:414:25: required from ‘pybind11::array ducc0::detail_pymodule_fft::{anonymous}::genuine_fht_internal(const pybind11::array&, const pybind11::object&, int, pybind11::object&, std::size_t) [with T = float; std::size_t = long unsigned int]’ 414 | ducc0::r2r_genuine_fht(ain, aout, axes, fct, nthreads); | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/fft_pymod.cc:422:3: required from here 422 | DISPATCH(in, f64, f32, flong, genuine_fht_internal, (in, axes_, inorm, | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ 423 | out_, nthreads)) | ~~~~~~~~~~~~~~~ ./src/ducc0/fft/fftnd_impl.h:1568:39: error: call of overloaded ‘raw(long unsigned int)’ is ambiguous 1568 | func (c.raw(iin+i*cstr), r.raw(iout0+i*str), r.raw(iout1+ic*str)); | ~~~~~^~~~~~~~~~~~~ ./src/ducc0/fft/fftnd_impl.h:1568:39: note: there are 2 candidates ./src/ducc0/infra/mav.h:119:35: note: candidate 1: ‘const T& ducc0::detail_mav::cmembuf::raw(I) const [with I = long unsigned int; T = float]’ 119 | template const T &raw(I i) const | ^~~ ./src/ducc0/infra/mav.h:659:29: note: candidate 2: ‘T& ducc0::detail_mav::vfmav::raw(I) const [with I = long unsigned int; T = float]’ 659 | template T &raw(I i) const | ^~~ ./src/ducc0/fft/fftnd_impl.h:1568:59: error: call of overloaded ‘raw(long unsigned int)’ is ambiguous 1568 | func (c.raw(iin+i*cstr), r.raw(iout0+i*str), r.raw(iout1+ic*str)); | ~~~~~^~~~~~~~~~~~~~ ./src/ducc0/fft/fftnd_impl.h:1568:59: note: there are 2 candidates ./src/ducc0/infra/mav.h:119:35: note: candidate 1: ‘const T& ducc0::detail_mav::cmembuf::raw(I) const [with I = long unsigned int; T = float]’ 119 | template const T &raw(I i) const | ^~~ ./src/ducc0/infra/mav.h:659:29: note: candidate 2: ‘T& ducc0::detail_mav::vfmav::raw(I) const [with I = long unsigned int; T = float]’ 659 | template T &raw(I i) const | ^~~ ./src/ducc0/fft/fftnd_impl.h:1571:39: error: call of overloaded ‘raw(long unsigned int)’ is ambiguous 1571 | func (c.raw(iin+i*cstr), r.raw(iout0+i*str), r.raw(iout1+ic*str)); | ~~~~~^~~~~~~~~~~~~ ./src/ducc0/fft/fftnd_impl.h:1571:39: note: there are 2 candidates ./src/ducc0/infra/mav.h:119:35: note: candidate 1: ‘const T& ducc0::detail_mav::cmembuf::raw(I) const [with I = long unsigned int; T = float]’ 119 | template const T &raw(I i) const | ^~~ ./src/ducc0/infra/mav.h:659:29: note: candidate 2: ‘T& ducc0::detail_mav::vfmav::raw(I) const [with I = long unsigned int; T = float]’ 659 | template T &raw(I i) const | ^~~ ./src/ducc0/fft/fftnd_impl.h:1571:59: error: call of overloaded ‘raw(long unsigned int)’ is ambiguous 1571 | func (c.raw(iin+i*cstr), r.raw(iout0+i*str), r.raw(iout1+ic*str)); | ~~~~~^~~~~~~~~~~~~~ ./src/ducc0/fft/fftnd_impl.h:1571:59: note: there are 2 candidates ./src/ducc0/infra/mav.h:119:35: note: candidate 1: ‘const T& ducc0::detail_mav::cmembuf::raw(I) const [with I = long unsigned int; T = float]’ 119 | template const T &raw(I i) const | ^~~ ./src/ducc0/infra/mav.h:659:29: note: candidate 2: ‘T& ducc0::detail_mav::vfmav::raw(I) const [with I = long unsigned int; T = float]’ 659 | template T &raw(I i) const | ^~~ ./src/ducc0/fft/fftnd_impl.h:1574:39: error: call of overloaded ‘raw(long unsigned int)’ is ambiguous 1574 | func (c.raw(iin+i*cstr), r.raw(iout0+i*str), r.raw(iout1+i*str)); | ~~~~~^~~~~~~~~~~~~ ./src/ducc0/fft/fftnd_impl.h:1574:39: note: there are 2 candidates ./src/ducc0/infra/mav.h:119:35: note: candidate 1: ‘const T& ducc0::detail_mav::cmembuf::raw(I) const [with I = long unsigned int; T = float]’ 119 | template const T &raw(I i) const | ^~~ ./src/ducc0/infra/mav.h:659:29: note: candidate 2: ‘T& ducc0::detail_mav::vfmav::raw(I) const [with I = long unsigned int; T = float]’ 659 | template T &raw(I i) const | ^~~ ./src/ducc0/fft/fftnd_impl.h:1574:59: error: call of overloaded ‘raw(long unsigned int)’ is ambiguous 1574 | func (c.raw(iin+i*cstr), r.raw(iout0+i*str), r.raw(iout1+i*str)); | ~~~~~^~~~~~~~~~~~~ ./src/ducc0/fft/fftnd_impl.h:1574:59: note: there are 2 candidates ./src/ducc0/infra/mav.h:119:35: note: candidate 1: ‘const T& ducc0::detail_mav::cmembuf::raw(I) const [with I = long unsigned int; T = float]’ 119 | template const T &raw(I i) const | ^~~ ./src/ducc0/infra/mav.h:659:29: note: candidate 2: ‘T& ducc0::detail_mav::vfmav::raw(I) const [with I = long unsigned int; T = float]’ 659 | template T &raw(I i) const | ^~~ ./src/ducc0/fft/fftnd_impl.h: In instantiation of ‘void ducc0::detail_fft::hermiteHelper(size_t, ptrdiff_t, ptrdiff_t, ptrdiff_t, const ducc0::detail_mav::cfmav&, const ducc0::detail_mav::vfmav&, const shape_t&, Func, size_t) [with T0 = std::complex; T1 = long double; Func = r2r_genuine_fht(const ducc0::detail_mav::cfmav&, const ducc0::detail_mav::vfmav&, const shape_t&, long double, size_t)::&, long double&, long double&)>; size_t = long unsigned int; ptrdiff_t = long int; shape_t = std::vector]’: ./src/ducc0/fft/fftnd_impl.h:1690:16: required from ‘void ducc0::detail_fft::r2r_genuine_fht(const ducc0::detail_mav::cfmav&, const ducc0::detail_mav::vfmav&, const shape_t&, T, size_t) [with T = long double; shape_t = std::vector; size_t = long unsigned int]’ 1690 | hermiteHelper(0, 0, 0, 0, atmp, out, axes, [](const std::complex &c, T &r0, T &r1) | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1691 | { | ~ 1692 | auto ccopy = c; | ~~~~~~~~~~~~~~~ 1693 | r0 = ccopy.real()-ccopy.imag(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1694 | r1 = ccopy.real()+ccopy.imag(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1695 | }, nthreads); | ~~~~~~~~~~~~ ./python/fft_pymod.cc:414:25: required from ‘pybind11::array ducc0::detail_pymodule_fft::{anonymous}::genuine_fht_internal(const pybind11::array&, const pybind11::object&, int, pybind11::object&, std::size_t) [with T = long double; std::size_t = long unsigned int]’ 414 | ducc0::r2r_genuine_fht(ain, aout, axes, fct, nthreads); | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/fft_pymod.cc:422:3: required from here 422 | DISPATCH(in, f64, f32, flong, genuine_fht_internal, (in, axes_, inorm, | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ 423 | out_, nthreads)) | ~~~~~~~~~~~~~~~ ./src/ducc0/fft/fftnd_impl.h:1568:39: error: call of overloaded ‘raw(long unsigned int)’ is ambiguous 1568 | func (c.raw(iin+i*cstr), r.raw(iout0+i*str), r.raw(iout1+ic*str)); | ~~~~~^~~~~~~~~~~~~ ./src/ducc0/fft/fftnd_impl.h:1568:39: note: there are 2 candidates ./src/ducc0/infra/mav.h:119:35: note: candidate 1: ‘const T& ducc0::detail_mav::cmembuf::raw(I) const [with I = long unsigned int; T = long double]’ 119 | template const T &raw(I i) const | ^~~ ./src/ducc0/infra/mav.h:659:29: note: candidate 2: ‘T& ducc0::detail_mav::vfmav::raw(I) const [with I = long unsigned int; T = long double]’ 659 | template T &raw(I i) const | ^~~ ./src/ducc0/fft/fftnd_impl.h:1568:59: error: call of overloaded ‘raw(long unsigned int)’ is ambiguous 1568 | func (c.raw(iin+i*cstr), r.raw(iout0+i*str), r.raw(iout1+ic*str)); | ~~~~~^~~~~~~~~~~~~~ ./src/ducc0/fft/fftnd_impl.h:1568:59: note: there are 2 candidates ./src/ducc0/infra/mav.h:119:35: note: candidate 1: ‘const T& ducc0::detail_mav::cmembuf::raw(I) const [with I = long unsigned int; T = long double]’ 119 | template const T &raw(I i) const | ^~~ ./src/ducc0/infra/mav.h:659:29: note: candidate 2: ‘T& ducc0::detail_mav::vfmav::raw(I) const [with I = long unsigned int; T = long double]’ 659 | template T &raw(I i) const | ^~~ ./src/ducc0/fft/fftnd_impl.h:1571:39: error: call of overloaded ‘raw(long unsigned int)’ is ambiguous 1571 | func (c.raw(iin+i*cstr), r.raw(iout0+i*str), r.raw(iout1+ic*str)); | ~~~~~^~~~~~~~~~~~~ ./src/ducc0/fft/fftnd_impl.h:1571:39: note: there are 2 candidates ./src/ducc0/infra/mav.h:119:35: note: candidate 1: ‘const T& ducc0::detail_mav::cmembuf::raw(I) const [with I = long unsigned int; T = long double]’ 119 | template const T &raw(I i) const | ^~~ ./src/ducc0/infra/mav.h:659:29: note: candidate 2: ‘T& ducc0::detail_mav::vfmav::raw(I) const [with I = long unsigned int; T = long double]’ 659 | template T &raw(I i) const | ^~~ ./src/ducc0/fft/fftnd_impl.h:1571:59: error: call of overloaded ‘raw(long unsigned int)’ is ambiguous 1571 | func (c.raw(iin+i*cstr), r.raw(iout0+i*str), r.raw(iout1+ic*str)); | ~~~~~^~~~~~~~~~~~~~ ./src/ducc0/fft/fftnd_impl.h:1571:59: note: there are 2 candidates ./src/ducc0/infra/mav.h:119:35: note: candidate 1: ‘const T& ducc0::detail_mav::cmembuf::raw(I) const [with I = long unsigned int; T = long double]’ 119 | template const T &raw(I i) const | ^~~ ./src/ducc0/infra/mav.h:659:29: note: candidate 2: ‘T& ducc0::detail_mav::vfmav::raw(I) const [with I = long unsigned int; T = long double]’ 659 | template T &raw(I i) const | ^~~ ./src/ducc0/fft/fftnd_impl.h:1574:39: error: call of overloaded ‘raw(long unsigned int)’ is ambiguous 1574 | func (c.raw(iin+i*cstr), r.raw(iout0+i*str), r.raw(iout1+i*str)); | ~~~~~^~~~~~~~~~~~~ ./src/ducc0/fft/fftnd_impl.h:1574:39: note: there are 2 candidates ./src/ducc0/infra/mav.h:119:35: note: candidate 1: ‘const T& ducc0::detail_mav::cmembuf::raw(I) const [with I = long unsigned int; T = long double]’ 119 | template const T &raw(I i) const | ^~~ ./src/ducc0/infra/mav.h:659:29: note: candidate 2: ‘T& ducc0::detail_mav::vfmav::raw(I) const [with I = long unsigned int; T = long double]’ 659 | template T &raw(I i) const | ^~~ ./src/ducc0/fft/fftnd_impl.h:1574:59: error: call of overloaded ‘raw(long unsigned int)’ is ambiguous 1574 | func (c.raw(iin+i*cstr), r.raw(iout0+i*str), r.raw(iout1+i*str)); | ~~~~~^~~~~~~~~~~~~ ./src/ducc0/fft/fftnd_impl.h:1574:59: note: there are 2 candidates ./src/ducc0/infra/mav.h:119:35: note: candidate 1: ‘const T& ducc0::detail_mav::cmembuf::raw(I) const [with I = long unsigned int; T = long double]’ 119 | template const T &raw(I i) const | ^~~ ./src/ducc0/infra/mav.h:659:29: note: candidate 2: ‘T& ducc0::detail_mav::vfmav::raw(I) const [with I = long unsigned int; T = long double]’ 659 | template T &raw(I i) const | ^~~ ./src/ducc0/fft/fftnd_impl.h: In instantiation of ‘void ducc0::detail_fft::general_convolve_axis(const ducc0::detail_mav::cfmav&, const ducc0::detail_mav::vfmav&, size_t, const ducc0::detail_mav::cmav&, size_t, const Exec&) [with Tplan = pocketfft_r; T0 = double; T = double; Exec = ExecConv1R; size_t = long unsigned int]’: ./src/ducc0/fft/fftnd_impl.h:1857:43: required from ‘void ducc0::detail_fft::convolve_axis(const ducc0::detail_mav::cfmav&, const ducc0::detail_mav::vfmav&, size_t, const ducc0::detail_mav::cmav&, size_t) [with T = double; size_t = long unsigned int]’ 1857 | general_convolve_axis, T>(in, out, axis, kernel, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1858 | ExecConv1R()); | ~~~~~~~~~~~~~ ./python/fft_pymod.cc:459:23: required from ‘pybind11::array ducc0::detail_pymodule_fft::{anonymous}::convolve_axis_internal(const pybind11::array&, pybind11::array&, std::size_t, const pybind11::array&, std::size_t) [with T = double; std::size_t = long unsigned int]’ 459 | ducc0::convolve_axis(in, out, axis, kernel, nthreads); | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/fft_pymod.cc:477:5: required from here 477 | DISPATCH(in, f64, f32, flong, convolve_axis_internal, (in, out, axis, | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~ 478 | kernel, nthreads)) | ~~~~~~~~~~~~~~~~~ ./src/ducc0/fft/fftnd_impl.h:1713:12: error: call of ‘(ducc0::detail_mav::vmav) (size_t&)’ is ambiguous 1713 | fkernel(i) = kernel(i); | ~~~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/fft/fftnd_impl.h: In instantiation of ‘void ducc0::detail_fft::general_convolve_axis(const ducc0::detail_mav::cfmav&, const ducc0::detail_mav::vfmav&, size_t, const ducc0::detail_mav::cmav&, size_t, const Exec&) [with Tplan = pocketfft_r; T0 = float; T = float; Exec = ExecConv1R; size_t = long unsigned int]’: ./src/ducc0/fft/fftnd_impl.h:1857:43: required from ‘void ducc0::detail_fft::convolve_axis(const ducc0::detail_mav::cfmav&, const ducc0::detail_mav::vfmav&, size_t, const ducc0::detail_mav::cmav&, size_t) [with T = float; size_t = long unsigned int]’ 1857 | general_convolve_axis, T>(in, out, axis, kernel, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1858 | ExecConv1R()); | ~~~~~~~~~~~~~ ./python/fft_pymod.cc:459:23: required from ‘pybind11::array ducc0::detail_pymodule_fft::{anonymous}::convolve_axis_internal(const pybind11::array&, pybind11::array&, std::size_t, const pybind11::array&, std::size_t) [with T = float; std::size_t = long unsigned int]’ 459 | ducc0::convolve_axis(in, out, axis, kernel, nthreads); | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/fft_pymod.cc:477:5: required from here 477 | DISPATCH(in, f64, f32, flong, convolve_axis_internal, (in, out, axis, | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~ 478 | kernel, nthreads)) | ~~~~~~~~~~~~~~~~~ ./src/ducc0/fft/fftnd_impl.h:1713:12: error: call of ‘(ducc0::detail_mav::vmav) (size_t&)’ is ambiguous 1713 | fkernel(i) = kernel(i); | ~~~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = float; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = float; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/fft/fftnd_impl.h: In instantiation of ‘void ducc0::detail_fft::general_convolve_axis(const ducc0::detail_mav::cfmav&, const ducc0::detail_mav::vfmav&, size_t, const ducc0::detail_mav::cmav&, size_t, const Exec&) [with Tplan = pocketfft_r; T0 = long double; T = long double; Exec = ExecConv1R; size_t = long unsigned int]’: ./src/ducc0/fft/fftnd_impl.h:1857:43: required from ‘void ducc0::detail_fft::convolve_axis(const ducc0::detail_mav::cfmav&, const ducc0::detail_mav::vfmav&, size_t, const ducc0::detail_mav::cmav&, size_t) [with T = long double; size_t = long unsigned int]’ 1857 | general_convolve_axis, T>(in, out, axis, kernel, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1858 | ExecConv1R()); | ~~~~~~~~~~~~~ ./python/fft_pymod.cc:459:23: required from ‘pybind11::array ducc0::detail_pymodule_fft::{anonymous}::convolve_axis_internal(const pybind11::array&, pybind11::array&, std::size_t, const pybind11::array&, std::size_t) [with T = long double; std::size_t = long unsigned int]’ 459 | ducc0::convolve_axis(in, out, axis, kernel, nthreads); | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/fft_pymod.cc:477:5: required from here 477 | DISPATCH(in, f64, f32, flong, convolve_axis_internal, (in, out, axis, | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~ 478 | kernel, nthreads)) | ~~~~~~~~~~~~~~~~~ ./src/ducc0/fft/fftnd_impl.h:1713:12: error: call of ‘(ducc0::detail_mav::vmav) (size_t&)’ is ambiguous 1713 | fkernel(i) = kernel(i); | ~~~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = long double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = long double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h: In instantiation of ‘void ducc0::detail_totalconvolve::ConvolverPlan::getPlane(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav, 2>&, size_t, const ducc0::detail_mav::vmav&) const [with T = double; size_t = long unsigned int]’: ./src/ducc0/sht/totalconvolve.h:539:15: required from ‘void ducc0::detail_totalconvolve::ConvolverPlan::getPlane(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav, 1>&, size_t, const ducc0::detail_mav::vmav&) const [with T = double; size_t = long unsigned int]’ 539 | getPlane(vslm, vblm, mbeam, planes); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/totalconvolve_pymod.cc:68:15: required from ‘void ducc0::detail_pymodule_totalconvolve::Py_ConvolverPlan::Py_getPlane(const pybind11::array&, const pybind11::array&, size_t, pybind11::array&) const [with T = double; size_t = long unsigned int]’ 68 | getPlane(slm, blm, mbeam, planes); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ ./python/totalconvolve_pymod.cc:795:31: required from here 795 | .def("getPlane", &conv_d::Py_getPlane, Py_ConvolverPlan_getPlane_DS, | ^~~~~~~~~~~ ./src/ducc0/sht/totalconvolve.h:441:15: error: call of ‘(ducc0::detail_mav::vmav, 2>) (int, size_t)’ is ambiguous 441 | aarr(0, base.index(l,m))=0.; | ~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h:443:17: error: call of ‘(ducc0::detail_mav::vmav, 2>) (int, size_t)’ is ambiguous 443 | aarr(1, base.index(l,m))=0.; | ~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h:450:19: error: call of ‘(ducc0::detail_mav::vmav, 2>) (int, size_t)’ is ambiguous 450 | aarr(0,base.index(l,m)) += vslm(i,islm.index(l,m))*tmp.real(); | ~~~~^~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h:452:21: error: call of ‘(ducc0::detail_mav::vmav, 2>) (int, size_t)’ is ambiguous 452 | aarr(1,base.index(l,m)) += vslm(i,islm.index(l,m))*tmp.imag(); | ~~~~^~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h:462:70: error: call of ‘(const ducc0::detail_mav::vmav) (int, const size_t&, long unsigned int)’ is ambiguous 462 | vmav,3> leg_s(reinterpret_cast *>(&planes(0,nbtheta,nbphi-1)), | ~~~~~~^~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h:464:70: error: call of ‘(const ducc0::detail_mav::vmav) (int, const size_t&, long unsigned int)’ is ambiguous 464 | vmav,3> leg_b(reinterpret_cast *>(&planes(0,nbtheta,nbphi-1)), | ~~~~~~^~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h:488:16: error: call of ‘(ducc0::detail_mav::vmav) (size_t&)’ is ambiguous 488 | phikrn2(j) = T(phikrn[(j+1)/2]); | ~~~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h:499:19: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, long unsigned int, const size_t&)’ is ambiguous 499 | planes(iplane, nbtheta+i, nbphi) = planes(iplane, nbtheta+i, nbphi-1); | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h:499:54: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, long unsigned int, long unsigned int)’ is ambiguous 499 | planes(iplane, nbtheta+i, nbphi) = planes(iplane, nbtheta+i, nbphi-1); | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h:501:18: error: call of ‘(ducc0::detail_mav::vmav) (size_t&, size_t&)’ is ambiguous 501 | arr(i,j) *= phikrn2(j); | ~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h:501:34: error: call of ‘(ducc0::detail_mav::vmav) (size_t&)’ is ambiguous 501 | arr(i,j) *= phikrn2(j); | ~~~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h:503:18: error: call of ‘(ducc0::detail_mav::vmav) (size_t&, size_t&)’ is ambiguous 503 | arr(i,j) = T(0); | ~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h:504:37: error: call of ‘(ducc0::detail_mav::vmav) (size_t&, int)’ is ambiguous 504 | rplan.exec_copyback(&arr(i,0), buf.data(), T(1), false); | ~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h:517:19: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, long unsigned int, size_t)’ is ambiguous 517 | planes(iplane,nbtheta-1-i,j2+nbphi) = fct*planes(iplane,nbtheta+1+i,j+nbphi); | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h:517:61: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, long unsigned int, size_t)’ is ambiguous 517 | planes(iplane,nbtheta-1-i,j2+nbphi) = fct*planes(iplane,nbtheta+1+i,j+nbphi); | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h:518:19: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, long unsigned int, size_t)’ is ambiguous 518 | planes(iplane,nbtheta+ntheta_b+i,j2+nbphi) = fct*planes(iplane,nbtheta+ntheta_b-2-i,j+nbphi); | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h:518:68: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, long unsigned int, size_t)’ is ambiguous 518 | planes(iplane,nbtheta+ntheta_b+i,j2+nbphi) = fct*planes(iplane,nbtheta+ntheta_b-2-i,j+nbphi); | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h:524:19: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&, size_t&)’ is ambiguous 524 | planes(iplane,i,j) = planes(iplane,i,j+nphi_b); | ~~~~~~^~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h:524:40: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&, size_t)’ is ambiguous 524 | planes(iplane,i,j) = planes(iplane,i,j+nphi_b); | ~~~~~~^~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h:525:19: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&, size_t)’ is ambiguous 525 | planes(iplane,i,j+nphi_b+nbphi) = planes(iplane,i,j+nbphi); | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h:525:53: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&, size_t)’ is ambiguous 525 | planes(iplane,i,j+nphi_b+nbphi) = planes(iplane,i,j+nbphi); | ~~~~~~^~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h:529:19: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&, long unsigned int)’ is ambiguous 529 | planes(iplane, i, nphi-vlen+j) = T(0); | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h: In instantiation of ‘void ducc0::detail_totalconvolve::ConvolverPlan::interpolx(size_t, const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with long unsigned int supp = 16; T = double; size_t = long unsigned int]’: ./src/ducc0/sht/totalconvolve.h:547:25: required from ‘void ducc0::detail_totalconvolve::ConvolverPlan::interpol(const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with T = double; size_t = long unsigned int]’ 547 | interpolx(kernel->support(), cube, itheta0, iphi0, theta, phi, psi, signal); | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/totalconvolve_pymod.cc:98:15: required from ‘void ducc0::detail_pymodule_totalconvolve::Py_ConvolverPlan::Py_interpol(const pybind11::array&, size_t, size_t, const pybind11::array&, const pybind11::array&, const pybind11::array&, pybind11::array&) [with T = double; size_t = long unsigned int]’ 98 | interpol(cube, itheta0, iphi0, theta, phi, psi, signal); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/totalconvolve_pymod.cc:799:31: required from here 799 | .def("interpol", &conv_d::Py_interpol, Py_ConvolverPlan_interpol_DS, | ^~~~~~~~~~~ ./src/ducc0/sht/totalconvolve.h:249:17: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&)’ is ambiguous 249 | signal(i) = reduce(res, std::plus<>()); | ~~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h: In instantiation of ‘void ducc0::detail_totalconvolve::ConvolverPlan::deinterpolx(size_t, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with long unsigned int supp = 16; T = double; size_t = long unsigned int]’: ./src/ducc0/sht/totalconvolve.h:555:27: required from ‘void ducc0::detail_totalconvolve::ConvolverPlan::deinterpol(const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with T = double; size_t = long unsigned int]’ 555 | deinterpolx(kernel->support(), cube, itheta0, iphi0, theta, phi, psi, signal); | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/totalconvolve_pymod.cc:112:17: required from ‘void ducc0::detail_pymodule_totalconvolve::Py_ConvolverPlan::Py_deinterpol(pybind11::array&, size_t, size_t, const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::array&) [with T = double; size_t = long unsigned int]’ 112 | deinterpol(cube, itheta0, iphi0, theta, phi, psi, signal); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/totalconvolve_pymod.cc:801:33: required from here 801 | .def("deinterpol", &conv_d::Py_deinterpol, Py_ConvolverPlan_deinterpol_DS, | ^~~~~~~~~~~~~ ./src/ducc0/sht/totalconvolve.h:294:41: error: call of ‘(const ducc0::detail_mav::vmav) (long unsigned int&, size_t&, size_t&)’ is ambiguous 294 | T * DUCC0_RESTRICT ptr = &cube(ipsi,hlp.itheta,hlp.iphi); | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h:352:28: error: call of ‘(const ducc0::detail_mav::vmav) (long unsigned int&, size_t&, size_t&)’ is ambiguous 352 | ptr = &cube(ipsi,hlp.itheta,hlp.iphi); | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h: In instantiation of ‘void ducc0::detail_totalconvolve::ConvolverPlan::getPlane(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav, 2>&, size_t, const ducc0::detail_mav::vmav&) const [with T = float; size_t = long unsigned int]’: ./src/ducc0/sht/totalconvolve.h:539:15: required from ‘void ducc0::detail_totalconvolve::ConvolverPlan::getPlane(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav, 1>&, size_t, const ducc0::detail_mav::vmav&) const [with T = float; size_t = long unsigned int]’ 539 | getPlane(vslm, vblm, mbeam, planes); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/totalconvolve_pymod.cc:68:15: required from ‘void ducc0::detail_pymodule_totalconvolve::Py_ConvolverPlan::Py_getPlane(const pybind11::array&, const pybind11::array&, size_t, pybind11::array&) const [with T = float; size_t = long unsigned int]’ 68 | getPlane(slm, blm, mbeam, planes); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ ./python/totalconvolve_pymod.cc:817:31: required from here 817 | .def("getPlane", &conv_f::Py_getPlane, Py_ConvolverPlan_f_getPlane_DS, | ^~~~~~~~~~~ ./src/ducc0/sht/totalconvolve.h:441:15: error: call of ‘(ducc0::detail_mav::vmav, 2>) (int, size_t)’ is ambiguous 441 | aarr(0, base.index(l,m))=0.; | ~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h:443:17: error: call of ‘(ducc0::detail_mav::vmav, 2>) (int, size_t)’ is ambiguous 443 | aarr(1, base.index(l,m))=0.; | ~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h:450:19: error: call of ‘(ducc0::detail_mav::vmav, 2>) (int, size_t)’ is ambiguous 450 | aarr(0,base.index(l,m)) += vslm(i,islm.index(l,m))*tmp.real(); | ~~~~^~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h:452:21: error: call of ‘(ducc0::detail_mav::vmav, 2>) (int, size_t)’ is ambiguous 452 | aarr(1,base.index(l,m)) += vslm(i,islm.index(l,m))*tmp.imag(); | ~~~~^~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h:462:70: error: call of ‘(const ducc0::detail_mav::vmav) (int, const size_t&, long unsigned int)’ is ambiguous 462 | vmav,3> leg_s(reinterpret_cast *>(&planes(0,nbtheta,nbphi-1)), | ~~~~~~^~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h:464:70: error: call of ‘(const ducc0::detail_mav::vmav) (int, const size_t&, long unsigned int)’ is ambiguous 464 | vmav,3> leg_b(reinterpret_cast *>(&planes(0,nbtheta,nbphi-1)), | ~~~~~~^~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h:488:16: error: call of ‘(ducc0::detail_mav::vmav) (size_t&)’ is ambiguous 488 | phikrn2(j) = T(phikrn[(j+1)/2]); | ~~~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = float; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = float; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h:499:19: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, long unsigned int, const size_t&)’ is ambiguous 499 | planes(iplane, nbtheta+i, nbphi) = planes(iplane, nbtheta+i, nbphi-1); | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h:499:54: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, long unsigned int, long unsigned int)’ is ambiguous 499 | planes(iplane, nbtheta+i, nbphi) = planes(iplane, nbtheta+i, nbphi-1); | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h:501:18: error: call of ‘(ducc0::detail_mav::vmav) (size_t&, size_t&)’ is ambiguous 501 | arr(i,j) *= phikrn2(j); | ~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h:501:34: error: call of ‘(ducc0::detail_mav::vmav) (size_t&)’ is ambiguous 501 | arr(i,j) *= phikrn2(j); | ~~~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = float; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = float; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h:503:18: error: call of ‘(ducc0::detail_mav::vmav) (size_t&, size_t&)’ is ambiguous 503 | arr(i,j) = T(0); | ~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h:504:37: error: call of ‘(ducc0::detail_mav::vmav) (size_t&, int)’ is ambiguous 504 | rplan.exec_copyback(&arr(i,0), buf.data(), T(1), false); | ~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h:517:19: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, long unsigned int, size_t)’ is ambiguous 517 | planes(iplane,nbtheta-1-i,j2+nbphi) = fct*planes(iplane,nbtheta+1+i,j+nbphi); | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h:517:61: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, long unsigned int, size_t)’ is ambiguous 517 | planes(iplane,nbtheta-1-i,j2+nbphi) = fct*planes(iplane,nbtheta+1+i,j+nbphi); | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h:518:19: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, long unsigned int, size_t)’ is ambiguous 518 | planes(iplane,nbtheta+ntheta_b+i,j2+nbphi) = fct*planes(iplane,nbtheta+ntheta_b-2-i,j+nbphi); | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h:518:68: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, long unsigned int, size_t)’ is ambiguous 518 | planes(iplane,nbtheta+ntheta_b+i,j2+nbphi) = fct*planes(iplane,nbtheta+ntheta_b-2-i,j+nbphi); | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h:524:19: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&, size_t&)’ is ambiguous 524 | planes(iplane,i,j) = planes(iplane,i,j+nphi_b); | ~~~~~~^~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h:524:40: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&, size_t)’ is ambiguous 524 | planes(iplane,i,j) = planes(iplane,i,j+nphi_b); | ~~~~~~^~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h:525:19: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&, size_t)’ is ambiguous 525 | planes(iplane,i,j+nphi_b+nbphi) = planes(iplane,i,j+nbphi); | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h:525:53: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&, size_t)’ is ambiguous 525 | planes(iplane,i,j+nphi_b+nbphi) = planes(iplane,i,j+nbphi); | ~~~~~~^~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h:529:19: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&, long unsigned int)’ is ambiguous 529 | planes(iplane, i, nphi-vlen+j) = T(0); | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h: In instantiation of ‘void ducc0::detail_totalconvolve::ConvolverPlan::interpolx(size_t, const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with long unsigned int supp = 8; T = float; size_t = long unsigned int]’: ./src/ducc0/sht/totalconvolve.h:547:25: required from ‘void ducc0::detail_totalconvolve::ConvolverPlan::interpol(const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with T = float; size_t = long unsigned int]’ 547 | interpolx(kernel->support(), cube, itheta0, iphi0, theta, phi, psi, signal); | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/totalconvolve_pymod.cc:98:15: required from ‘void ducc0::detail_pymodule_totalconvolve::Py_ConvolverPlan::Py_interpol(const pybind11::array&, size_t, size_t, const pybind11::array&, const pybind11::array&, const pybind11::array&, pybind11::array&) [with T = float; size_t = long unsigned int]’ 98 | interpol(cube, itheta0, iphi0, theta, phi, psi, signal); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/totalconvolve_pymod.cc:821:31: required from here 821 | .def("interpol", &conv_f::Py_interpol, Py_ConvolverPlan_f_interpol_DS, | ^~~~~~~~~~~ ./src/ducc0/sht/totalconvolve.h:249:17: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&)’ is ambiguous 249 | signal(i) = reduce(res, std::plus<>()); | ~~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = float; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = float; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h: In instantiation of ‘void ducc0::detail_totalconvolve::ConvolverPlan::deinterpolx(size_t, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with long unsigned int supp = 8; T = float; size_t = long unsigned int]’: ./src/ducc0/sht/totalconvolve.h:555:27: required from ‘void ducc0::detail_totalconvolve::ConvolverPlan::deinterpol(const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with T = float; size_t = long unsigned int]’ 555 | deinterpolx(kernel->support(), cube, itheta0, iphi0, theta, phi, psi, signal); | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/totalconvolve_pymod.cc:112:17: required from ‘void ducc0::detail_pymodule_totalconvolve::Py_ConvolverPlan::Py_deinterpol(pybind11::array&, size_t, size_t, const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::array&) [with T = float; size_t = long unsigned int]’ 112 | deinterpol(cube, itheta0, iphi0, theta, phi, psi, signal); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/totalconvolve_pymod.cc:823:33: required from here 823 | .def("deinterpol", &conv_f::Py_deinterpol, Py_ConvolverPlan_f_deinterpol_DS, | ^~~~~~~~~~~~~ ./src/ducc0/sht/totalconvolve.h:294:41: error: call of ‘(const ducc0::detail_mav::vmav) (long unsigned int&, size_t&, size_t&)’ is ambiguous 294 | T * DUCC0_RESTRICT ptr = &cube(ipsi,hlp.itheta,hlp.iphi); | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h:352:28: error: call of ‘(const ducc0::detail_mav::vmav) (long unsigned int&, size_t&, size_t&)’ is ambiguous 352 | ptr = &cube(ipsi,hlp.itheta,hlp.iphi); | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h: In instantiation of ‘void ducc0::coupling_matrix_spin0_tri(const detail_mav::cmav&, size_t, const detail_mav::vmav&, size_t) [with Tout = float; size_t = long unsigned int]’: ./src/ducc0/math/mcm.h:225:37: required from ‘void ducc0::coupling_matrix_spin0and2_tri(const detail_mav::cmav&, size_t, const detail_mav::vmav&, size_t) [with int is00 = 0; int is02 = 0; int is20 = 0; int is22 = 0; int im00 = 0; int im02 = -1; int im20 = -1; int impp = -1; int immm = -1; Tout = float; size_t = long unsigned int]’ 225 | return coupling_matrix_spin0_tri(subarray<2>(spec, {{},{is00},{}}), | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 226 | lmax, subarray<2>(mat, {{},{im00},{}}), nthreads); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/misc_pymod.cc:1163:92: required from ‘pybind11::array ducc0::detail_pymodule_misc::Py2_coupling_matrix_spin0and2_tri(const pybind11::array&, size_t, size_t, pybind11::object&) [with int is00 = 0; int is02 = 0; int is20 = 0; int is22 = 0; int im00 = 0; int im02 = -1; int im20 = -1; int impp = -1; int immm = -1; Tout = float; size_t = long unsigned int]’ 1163 | coupling_matrix_spin0and2_tri(spec, lmax, mat, nthreads); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/misc_pymod.cc:1179:3: required from here 1177 | Py2_coupling_matrix_spin0and2_tri(spec_, lmax, nthreads, mat__) : \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/math/mcm.h:93:20: error: call of ‘(const ducc0::detail_mav::vmav) (int, size_t)’ is ambiguous 93 | mat(0, idx_out+k) = Tout(val[k]); | ~~~^~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h:111:22: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t)’ is ambiguous 111 | mat(ispec, idx_out+k) = Tout(val[ispec][k]); | ~~~^~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h:129:22: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t)’ is ambiguous 129 | mat(ispec, idx_out+k) = Tout(val[ispec][k]); | ~~~^~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h:147:22: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t)’ is ambiguous 147 | mat(ispec, idx_out+k) = Tout(val[ispec][k]); | ~~~^~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h:164:22: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t)’ is ambiguous 164 | mat(ispec, idx_out+k) = Tout(val[ispec][k]); | ~~~^~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h:180:22: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t)’ is ambiguous 180 | mat(ispec, idx_out+k) = Tout(val[ispec][k]); | ~~~^~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h:187:20: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t)’ is ambiguous 187 | mat(ispec, idx_out+k) = Tout(0); | ~~~^~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h: In instantiation of ‘void ducc0::coupling_matrix_spin0_tri(const detail_mav::cmav&, size_t, const detail_mav::vmav&, size_t) [with Tout = double; size_t = long unsigned int]’: ./src/ducc0/math/mcm.h:225:37: required from ‘void ducc0::coupling_matrix_spin0and2_tri(const detail_mav::cmav&, size_t, const detail_mav::vmav&, size_t) [with int is00 = 0; int is02 = 0; int is20 = 0; int is22 = 0; int im00 = 0; int im02 = -1; int im20 = -1; int impp = -1; int immm = -1; Tout = double; size_t = long unsigned int]’ 225 | return coupling_matrix_spin0_tri(subarray<2>(spec, {{},{is00},{}}), | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 226 | lmax, subarray<2>(mat, {{},{im00},{}}), nthreads); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/misc_pymod.cc:1163:92: required from ‘pybind11::array ducc0::detail_pymodule_misc::Py2_coupling_matrix_spin0and2_tri(const pybind11::array&, size_t, size_t, pybind11::object&) [with int is00 = 0; int is02 = 0; int is20 = 0; int is22 = 0; int im00 = 0; int im02 = -1; int im20 = -1; int impp = -1; int immm = -1; Tout = double; size_t = long unsigned int]’ 1163 | coupling_matrix_spin0and2_tri(spec, lmax, mat, nthreads); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/misc_pymod.cc:1179:3: required from here 1178 | Py2_coupling_matrix_spin0and2_tri(spec_, lmax, nthreads, mat__); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/math/mcm.h:93:20: error: call of ‘(const ducc0::detail_mav::vmav) (int, size_t)’ is ambiguous 93 | mat(0, idx_out+k) = Tout(val[k]); | ~~~^~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h:111:22: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t)’ is ambiguous 111 | mat(ispec, idx_out+k) = Tout(val[ispec][k]); | ~~~^~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h:129:22: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t)’ is ambiguous 129 | mat(ispec, idx_out+k) = Tout(val[ispec][k]); | ~~~^~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h:147:22: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t)’ is ambiguous 147 | mat(ispec, idx_out+k) = Tout(val[ispec][k]); | ~~~^~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h:164:22: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t)’ is ambiguous 164 | mat(ispec, idx_out+k) = Tout(val[ispec][k]); | ~~~^~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h:180:22: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t)’ is ambiguous 180 | mat(ispec, idx_out+k) = Tout(val[ispec][k]); | ~~~^~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/math/mcm.h:187:20: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t)’ is ambiguous 187 | mat(ispec, idx_out+k) = Tout(0); | ~~~^~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ In file included from python/ducc.cc:22: ./python/pointingprovider_pymod.cc: In instantiation of ‘void ducc0::detail_pymodule_pointingprovider::PointingProvider::get_rotated_quaternions(double, double, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, bool) [with T2 = double; T = double]’: ./python/pointingprovider_pymod.cc:187:30: required from ‘pybind11::array ducc0::detail_pymodule_pointingprovider::PyPointingProvider::py2get_rotated_quaternions_out(double, double, const pybind11::array&, bool, pybind11::array&) [with T2 = double; T = double]’ 187 | get_rotated_quaternions(t0, freq, quat2, res2, rot_left); | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/pointingprovider_pymod.cc:195:54: required from ‘pybind11::array ducc0::detail_pymodule_pointingprovider::PyPointingProvider::pyget_rotated_quaternions_out(double, double, const pybind11::array&, bool, pybind11::array&) [with T = double]’ 195 | return py2get_rotated_quaternions_out(t0, freq, quat, rot_left, out); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/pointingprovider_pymod.cc:315:45: required from here 315 | .def ("get_rotated_quaternions", &pp_d::pyget_rotated_quaternions_out, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/pointingprovider_pymod.cc:162:14: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, int)’ is ambiguous 162 | out(i,0) = T2(q.x); | ~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./python/pointingprovider_pymod.cc:163:14: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, int)’ is ambiguous 163 | out(i,1) = T2(q.y); | ~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./python/pointingprovider_pymod.cc:164:14: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, int)’ is ambiguous 164 | out(i,2) = T2(q.z); | ~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./python/pointingprovider_pymod.cc:165:14: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, int)’ is ambiguous 165 | out(i,3) = T2(q.w); | ~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./python/pointingprovider_pymod.cc: In instantiation of ‘void ducc0::detail_pymodule_pointingprovider::PointingProvider::get_rotated_quaternions(double, double, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, bool) [with T2 = float; T = double]’: ./python/pointingprovider_pymod.cc:187:30: required from ‘pybind11::array ducc0::detail_pymodule_pointingprovider::PyPointingProvider::py2get_rotated_quaternions_out(double, double, const pybind11::array&, bool, pybind11::array&) [with T2 = float; T = double]’ 187 | get_rotated_quaternions(t0, freq, quat2, res2, rot_left); | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/pointingprovider_pymod.cc:197:53: required from ‘pybind11::array ducc0::detail_pymodule_pointingprovider::PyPointingProvider::pyget_rotated_quaternions_out(double, double, const pybind11::array&, bool, pybind11::array&) [with T = double]’ 197 | return py2get_rotated_quaternions_out(t0, freq, quat, rot_left, out); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/pointingprovider_pymod.cc:315:45: required from here 315 | .def ("get_rotated_quaternions", &pp_d::pyget_rotated_quaternions_out, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/pointingprovider_pymod.cc:162:14: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, int)’ is ambiguous 162 | out(i,0) = T2(q.x); | ~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./python/pointingprovider_pymod.cc:163:14: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, int)’ is ambiguous 163 | out(i,1) = T2(q.y); | ~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./python/pointingprovider_pymod.cc:164:14: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, int)’ is ambiguous 164 | out(i,2) = T2(q.z); | ~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./python/pointingprovider_pymod.cc:165:14: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, int)’ is ambiguous 165 | out(i,3) = T2(q.w); | ~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/nufft.h: In instantiation of ‘void ducc0::detail_nufft::deconv_nu2u(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vfmav >&, std::vector >&, bool, size_t) [with Tcalc = double; Tgrid = double; size_t = long unsigned int]’: ./src/ducc0/nufft/nufft.h:427:18: required from ‘void ducc0::detail_nufft::Nufft::spread_finish(bool, const ducc0::detail_mav::vfmav >&, const ducc0::detail_mav::vfmav >&) [with Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double]’ 427 | deconv_nu2u(grid, uniform, corfac, fft_order, nthreads); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:390:25: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_nu2u::do_evaluate_and_reset(const std::unique_ptr >&, ducc0::detail_mav::vfmav >&, pybind11::object&) [with T = double]’ 390 | ptr->spread_finish(forward, grid, uniform); | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:426:43: required from here 426 | if (pd) return do_evaluate_and_reset(pd, gridd, uniform); | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:123:13: error: call of ‘(ducc0::detail_mav::vmav, 1>) (std::tuple_element<1, std::tuple >::type&)’ is ambiguous 123 | uni2(iout) = complex(grid2(iin)*Tcalc(corfac[0][icfu])); | ~~~~^~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/nufft.h:142:15: error: call of ‘(ducc0::detail_mav::vmav, 2>) (std::tuple_element<1, std::tuple >::type&, std::tuple_element<1, std::tuple >::type&)’ is ambiguous 142 | uni2(iout,jout) = complex(grid2(iin,jin) | ~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/nufft.h:168:17: error: call of ‘(ducc0::detail_mav::vmav, 3>) (std::tuple_element<1, std::tuple >::type&, std::tuple_element<1, std::tuple >::type&, std::tuple_element<1, std::tuple >::type&)’ is ambiguous 168 | uni2(iout,jout,kout) = complex(grid2(iin,jin,kin) | ~~~~^~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/nufft.h: In instantiation of ‘void ducc0::detail_nufft::deconv_nu2u(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vfmav >&, std::vector >&, bool, size_t) [with Tcalc = float; Tgrid = float; size_t = long unsigned int]’: ./src/ducc0/nufft/nufft.h:427:18: required from ‘void ducc0::detail_nufft::Nufft::spread_finish(bool, const ducc0::detail_mav::vfmav >&, const ducc0::detail_mav::vfmav >&) [with Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float]’ 427 | deconv_nu2u(grid, uniform, corfac, fft_order, nthreads); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:390:25: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_nu2u::do_evaluate_and_reset(const std::unique_ptr >&, ducc0::detail_mav::vfmav >&, pybind11::object&) [with T = float]’ 390 | ptr->spread_finish(forward, grid, uniform); | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:427:43: required from here 427 | if (pf) return do_evaluate_and_reset(pf, gridf, uniform); | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:123:13: error: call of ‘(ducc0::detail_mav::vmav, 1>) (std::tuple_element<1, std::tuple >::type&)’ is ambiguous 123 | uni2(iout) = complex(grid2(iin)*Tcalc(corfac[0][icfu])); | ~~~~^~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/nufft.h:142:15: error: call of ‘(ducc0::detail_mav::vmav, 2>) (std::tuple_element<1, std::tuple >::type&, std::tuple_element<1, std::tuple >::type&)’ is ambiguous 142 | uni2(iout,jout) = complex(grid2(iin,jin) | ~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/nufft.h:168:17: error: call of ‘(ducc0::detail_mav::vmav, 3>) (std::tuple_element<1, std::tuple >::type&, std::tuple_element<1, std::tuple >::type&, std::tuple_element<1, std::tuple >::type&)’ is ambiguous 168 | uni2(iout,jout,kout) = complex(grid2(iin,jin,kin) | ~~~~^~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/nufft.h: In instantiation of ‘void ducc0::detail_nufft::deconv_u2nu(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vfmav >&, std::vector >&, bool, size_t) [with Tcalc = double; Tgrid = double; size_t = long unsigned int]’: ./src/ducc0/nufft/nufft.h:441:18: required from ‘void ducc0::detail_nufft::Nufft::interp_prep(bool, const ducc0::detail_mav::vfmav >&, const ducc0::detail_mav::cfmav >&) [with Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double]’ 441 | deconv_u2nu(uniform, grid, corfac, fft_order, nthreads); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:460:23: required from ‘void ducc0::detail_pymodule_nufft::Py_incremental_u2nu::construct(std::unique_ptr >&, ducc0::detail_mav::vfmav >&, size_t, const pybind11::array&, bool, double, double, double, const pybind11::object&, bool) [with T = double; size_t = long unsigned int]’ 460 | ptr->interp_prep(forward, grid, uniform); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:491:18: required from here 491 | construct(pd, gridd, npoints_estimate, uniform, forward, epsilon, | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 492 | sigma_min, sigma_max, periodicity, fft_order_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:195:14: error: call of ‘(ducc0::detail_mav::vmav, 1>) (std::tuple_element<2, std::tuple >::type&)’ is ambiguous 195 | grid2(iout) = complex(uni2(iin))*Tcalc(corfac[0][icfu]); | ~~~~~^~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/nufft.h:214:16: error: call of ‘(ducc0::detail_mav::vmav, 2>) (std::tuple_element<2, std::tuple >::type&, std::tuple_element<2, std::tuple >::type&)’ is ambiguous 214 | grid2(iout,jout) = complex(uni2(iin,jin))*Tcalc(cf0*corfac[1][icfv]); | ~~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/nufft.h:239:18: error: call of ‘(ducc0::detail_mav::vmav, 3>) (std::tuple_element<2, std::tuple >::type&, std::tuple_element<2, std::tuple >::type&, std::tuple_element<2, std::tuple >::type&)’ is ambiguous 239 | grid2(iout,jout,kout) = complex(uni2(iin,jin,kin))*Tcalc(cf01*corfac[2][icfw]); | ~~~~~^~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/nufft.h: In instantiation of ‘void ducc0::detail_nufft::deconv_u2nu(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vfmav >&, std::vector >&, bool, size_t) [with Tcalc = float; Tgrid = float; size_t = long unsigned int]’: ./src/ducc0/nufft/nufft.h:441:18: required from ‘void ducc0::detail_nufft::Nufft::interp_prep(bool, const ducc0::detail_mav::vfmav >&, const ducc0::detail_mav::cfmav >&) [with Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float]’ 441 | deconv_u2nu(uniform, grid, corfac, fft_order, nthreads); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:460:23: required from ‘void ducc0::detail_pymodule_nufft::Py_incremental_u2nu::construct(std::unique_ptr >&, ducc0::detail_mav::vfmav >&, size_t, const pybind11::array&, bool, double, double, double, const pybind11::object&, bool) [with T = float; size_t = long unsigned int]’ 460 | ptr->interp_prep(forward, grid, uniform); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:494:18: required from here 494 | construct(pf, gridf, npoints_estimate, uniform, forward, epsilon, | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 495 | sigma_min, sigma_max, periodicity, fft_order_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:195:14: error: call of ‘(ducc0::detail_mav::vmav, 1>) (std::tuple_element<2, std::tuple >::type&)’ is ambiguous 195 | grid2(iout) = complex(uni2(iin))*Tcalc(corfac[0][icfu]); | ~~~~~^~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/nufft.h:214:16: error: call of ‘(ducc0::detail_mav::vmav, 2>) (std::tuple_element<2, std::tuple >::type&, std::tuple_element<2, std::tuple >::type&)’ is ambiguous 214 | grid2(iout,jout) = complex(uni2(iin,jin))*Tcalc(cf0*corfac[1][icfv]); | ~~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/nufft.h:239:18: error: call of ‘(ducc0::detail_mav::vmav, 3>) (std::tuple_element<2, std::tuple >::type&, std::tuple_element<2, std::tuple >::type&, std::tuple_element<2, std::tuple >::type&)’ is ambiguous 239 | grid2(iout,jout,kout) = complex(uni2(iin,jin,kin))*Tcalc(cf01*corfac[2][icfw]); | ~~~~~^~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h: In instantiation of ‘void ducc0::detail_sphereinterpol::SphereInterpol::interpolx(size_t, const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with long unsigned int supp = 4; Tloc = double; T = float; size_t = long unsigned int]’: ./src/ducc0/sht/sphere_interpol.h:178:52: required from ‘void ducc0::detail_sphereinterpol::SphereInterpol::interpolx(size_t, const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with long unsigned int supp = 8; Tloc = double; T = float; size_t = long unsigned int]’ 178 | if (supp_<=supp/2) return interpolx(supp_, cube, itheta0, iphi0, theta, phi, signal); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:559:25: required from ‘void ducc0::detail_sphereinterpol::SphereInterpol::interpol(const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with Tloc = double; T = float; size_t = long unsigned int]’ 559 | interpolx(kernel->support(), cube, itheta0, iphi0, theta, phi, signal); | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sht.cc:2951:17: required from ‘void ducc0::detail_sht::synthesis_general(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, ptrdiff_t, const ducc0::detail_mav::cmav&, double, double, double, size_t, SHT_mode, bool) [with T = float; Tloc = double; size_t = long unsigned int; ptrdiff_t = long int]’ 2951 | inter.interpol(planes, 0, 0, xtheta, xphi, map); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sht.cc:2959:99: required from here 2959 | double epsilon, double sigma_min, double sigma_max, size_t nthreads, SHT_mode mode, bool verbose); | ^ ./src/ducc0/sht/sphere_interpol.h:223:21: error: call of ‘(const ducc0::detail_mav::vmav) (int, size_t&)’ is ambiguous 223 | signal(0, i) = reduce(tres0*hlp.wphi[0], std::plus<>()); | ~~~~~~^~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:224:21: error: call of ‘(const ducc0::detail_mav::vmav) (int, size_t&)’ is ambiguous 224 | signal(1, i) = reduce(tres1*hlp.wphi[0], std::plus<>()); | ~~~~~~^~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:255:23: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&)’ is ambiguous 255 | signal(icomp, i) = reduce(tres*hlp.wphi[0], std::plus<>()); | ~~~~~~^~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h: In instantiation of ‘void ducc0::detail_sphereinterpol::SphereInterpol::interpolx(size_t, const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with long unsigned int supp = 7; Tloc = double; T = float; size_t = long unsigned int]’: ./src/ducc0/sht/sphere_interpol.h:180:49: required from ‘void ducc0::detail_sphereinterpol::SphereInterpol::interpolx(size_t, const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with long unsigned int supp = 8; Tloc = double; T = float; size_t = long unsigned int]’ 180 | if (supp_(supp_, cube, itheta0, iphi0, theta, phi, signal); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:559:25: required from ‘void ducc0::detail_sphereinterpol::SphereInterpol::interpol(const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with Tloc = double; T = float; size_t = long unsigned int]’ 559 | interpolx(kernel->support(), cube, itheta0, iphi0, theta, phi, signal); | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sht.cc:2951:17: required from ‘void ducc0::detail_sht::synthesis_general(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, ptrdiff_t, const ducc0::detail_mav::cmav&, double, double, double, size_t, SHT_mode, bool) [with T = float; Tloc = double; size_t = long unsigned int; ptrdiff_t = long int]’ 2951 | inter.interpol(planes, 0, 0, xtheta, xphi, map); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sht.cc:2959:99: required from here 2959 | double epsilon, double sigma_min, double sigma_max, size_t nthreads, SHT_mode mode, bool verbose); | ^ ./src/ducc0/sht/sphere_interpol.h:242:21: error: call of ‘(const ducc0::detail_mav::vmav) (int, size_t&)’ is ambiguous 242 | signal(0, i) = reduce(tres0, std::plus<>()); | ~~~~~~^~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:243:21: error: call of ‘(const ducc0::detail_mav::vmav) (int, size_t&)’ is ambiguous 243 | signal(1, i) = reduce(tres1, std::plus<>()); | ~~~~~~^~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:269:23: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&)’ is ambiguous 269 | signal(icomp, i) = reduce(tres, std::plus<>()); | ~~~~~~^~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h: In instantiation of ‘void ducc0::detail_sphereinterpol::SphereInterpol::interpolx(size_t, const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with long unsigned int supp = 8; Tloc = double; T = double; size_t = long unsigned int]’: ./src/ducc0/sht/sphere_interpol.h:178:52: required from ‘void ducc0::detail_sphereinterpol::SphereInterpol::interpolx(size_t, const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with long unsigned int supp = 16; Tloc = double; T = double; size_t = long unsigned int]’ 178 | if (supp_<=supp/2) return interpolx(supp_, cube, itheta0, iphi0, theta, phi, signal); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:559:25: required from ‘void ducc0::detail_sphereinterpol::SphereInterpol::interpol(const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with Tloc = double; T = double; size_t = long unsigned int]’ 559 | interpolx(kernel->support(), cube, itheta0, iphi0, theta, phi, signal); | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sht.cc:2951:17: required from ‘void ducc0::detail_sht::synthesis_general(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, ptrdiff_t, const ducc0::detail_mav::cmav&, double, double, double, size_t, SHT_mode, bool) [with T = double; Tloc = double; size_t = long unsigned int; ptrdiff_t = long int]’ 2951 | inter.interpol(planes, 0, 0, xtheta, xphi, map); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sht.cc:2963:99: required from here 2963 | double epsilon, double sigma_min, double sigma_max, size_t nthreads, SHT_mode mode, bool verbose); | ^ ./src/ducc0/sht/sphere_interpol.h:242:21: error: call of ‘(const ducc0::detail_mav::vmav) (int, size_t&)’ is ambiguous 242 | signal(0, i) = reduce(tres0, std::plus<>()); | ~~~~~~^~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:243:21: error: call of ‘(const ducc0::detail_mav::vmav) (int, size_t&)’ is ambiguous 243 | signal(1, i) = reduce(tres1, std::plus<>()); | ~~~~~~^~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:269:23: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&)’ is ambiguous 269 | signal(icomp, i) = reduce(tres, std::plus<>()); | ~~~~~~^~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h: In instantiation of ‘void ducc0::detail_sphereinterpol::SphereInterpol::interpolx(size_t, const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with long unsigned int supp = 15; Tloc = double; T = double; size_t = long unsigned int]’: ./src/ducc0/sht/sphere_interpol.h:180:49: required from ‘void ducc0::detail_sphereinterpol::SphereInterpol::interpolx(size_t, const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with long unsigned int supp = 16; Tloc = double; T = double; size_t = long unsigned int]’ 180 | if (supp_(supp_, cube, itheta0, iphi0, theta, phi, signal); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:559:25: required from ‘void ducc0::detail_sphereinterpol::SphereInterpol::interpol(const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with Tloc = double; T = double; size_t = long unsigned int]’ 559 | interpolx(kernel->support(), cube, itheta0, iphi0, theta, phi, signal); | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sht.cc:2951:17: required from ‘void ducc0::detail_sht::synthesis_general(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, ptrdiff_t, const ducc0::detail_mav::cmav&, double, double, double, size_t, SHT_mode, bool) [with T = double; Tloc = double; size_t = long unsigned int; ptrdiff_t = long int]’ 2951 | inter.interpol(planes, 0, 0, xtheta, xphi, map); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sht.cc:2963:99: required from here 2963 | double epsilon, double sigma_min, double sigma_max, size_t nthreads, SHT_mode mode, bool verbose); | ^ ./src/ducc0/sht/sphere_interpol.h:242:21: error: call of ‘(const ducc0::detail_mav::vmav) (int, size_t&)’ is ambiguous 242 | signal(0, i) = reduce(tres0, std::plus<>()); | ~~~~~~^~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:243:21: error: call of ‘(const ducc0::detail_mav::vmav) (int, size_t&)’ is ambiguous 243 | signal(1, i) = reduce(tres1, std::plus<>()); | ~~~~~~^~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:269:23: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&)’ is ambiguous 269 | signal(icomp, i) = reduce(tres, std::plus<>()); | ~~~~~~^~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h: In instantiation of ‘void ducc0::detail_sphereinterpol::SphereInterpol::deinterpolx(size_t, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with long unsigned int supp = 4; Tloc = double; T = float; size_t = long unsigned int]’: ./src/ducc0/sht/sphere_interpol.h:280:54: required from ‘void ducc0::detail_sphereinterpol::SphereInterpol::deinterpolx(size_t, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with long unsigned int supp = 8; Tloc = double; T = float; size_t = long unsigned int]’ 280 | if (supp_<=supp/2) return deinterpolx(supp_, cube, itheta0, iphi0, theta, phi, signal); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:567:27: required from ‘void ducc0::detail_sphereinterpol::SphereInterpol::deinterpol(const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with Tloc = double; T = float; size_t = long unsigned int]’ 567 | deinterpolx(kernel->support(), cube, itheta0, iphi0, theta, phi, signal); | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sht.cc:2988:19: required from ‘void ducc0::detail_sht::adjoint_synthesis_general(const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, ptrdiff_t, const ducc0::detail_mav::cmav&, double, double, double, size_t, SHT_mode, bool) [with T = float; Tloc = double; size_t = long unsigned int; ptrdiff_t = long int]’ 2988 | inter.deinterpol(planes, 0, 0, xtheta, xphi, map); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sht.cc:2997:99: required from here 2997 | double epsilon, double sigma_min, double sigma_max, size_t nthreads, SHT_mode mode, bool verbose); | ^ ./src/ducc0/sht/sphere_interpol.h:341:46: error: call of ‘(const ducc0::detail_mav::vmav) (int, size_t&, size_t&)’ is ambiguous 341 | T * DUCC0_RESTRICT ptr0 = &cube(0,hlp.itheta,hlp.iphi); | ~~~~^~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:342:46: error: call of ‘(const ducc0::detail_mav::vmav) (int, size_t&, size_t&)’ is ambiguous 342 | T * DUCC0_RESTRICT ptr1 = &cube(1,hlp.itheta,hlp.iphi); | ~~~~^~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:381:47: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&, size_t&)’ is ambiguous 381 | T * DUCC0_RESTRICT ptr = &cube(icomp,hlp.itheta,hlp.iphi); | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h: In instantiation of ‘void ducc0::detail_sphereinterpol::SphereInterpol::deinterpolx(size_t, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with long unsigned int supp = 7; Tloc = double; T = float; size_t = long unsigned int]’: ./src/ducc0/sht/sphere_interpol.h:282:51: required from ‘void ducc0::detail_sphereinterpol::SphereInterpol::deinterpolx(size_t, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with long unsigned int supp = 8; Tloc = double; T = float; size_t = long unsigned int]’ 282 | if (supp_(supp_, cube, itheta0, iphi0, theta, phi, signal); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:567:27: required from ‘void ducc0::detail_sphereinterpol::SphereInterpol::deinterpol(const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with Tloc = double; T = float; size_t = long unsigned int]’ 567 | deinterpolx(kernel->support(), cube, itheta0, iphi0, theta, phi, signal); | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sht.cc:2988:19: required from ‘void ducc0::detail_sht::adjoint_synthesis_general(const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, ptrdiff_t, const ducc0::detail_mav::cmav&, double, double, double, size_t, SHT_mode, bool) [with T = float; Tloc = double; size_t = long unsigned int; ptrdiff_t = long int]’ 2988 | inter.deinterpol(planes, 0, 0, xtheta, xphi, map); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sht.cc:2997:99: required from here 2997 | double epsilon, double sigma_min, double sigma_max, size_t nthreads, SHT_mode mode, bool verbose); | ^ ./src/ducc0/sht/sphere_interpol.h:357:46: error: call of ‘(const ducc0::detail_mav::vmav) (int, size_t&, size_t&)’ is ambiguous 357 | T * DUCC0_RESTRICT ptr0 = &cube(0,hlp.itheta,hlp.iphi); | ~~~~^~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:358:46: error: call of ‘(const ducc0::detail_mav::vmav) (int, size_t&, size_t&)’ is ambiguous 358 | T * DUCC0_RESTRICT ptr1 = &cube(1,hlp.itheta,hlp.iphi); | ~~~~^~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:393:47: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&, size_t&)’ is ambiguous 393 | T * DUCC0_RESTRICT ptr = &cube(icomp,hlp.itheta,hlp.iphi); | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h: In instantiation of ‘void ducc0::detail_sphereinterpol::SphereInterpol::deinterpolx(size_t, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with long unsigned int supp = 8; Tloc = double; T = double; size_t = long unsigned int]’: ./src/ducc0/sht/sphere_interpol.h:280:54: required from ‘void ducc0::detail_sphereinterpol::SphereInterpol::deinterpolx(size_t, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with long unsigned int supp = 16; Tloc = double; T = double; size_t = long unsigned int]’ 280 | if (supp_<=supp/2) return deinterpolx(supp_, cube, itheta0, iphi0, theta, phi, signal); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:567:27: required from ‘void ducc0::detail_sphereinterpol::SphereInterpol::deinterpol(const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with Tloc = double; T = double; size_t = long unsigned int]’ 567 | deinterpolx(kernel->support(), cube, itheta0, iphi0, theta, phi, signal); | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sht.cc:2988:19: required from ‘void ducc0::detail_sht::adjoint_synthesis_general(const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, ptrdiff_t, const ducc0::detail_mav::cmav&, double, double, double, size_t, SHT_mode, bool) [with T = double; Tloc = double; size_t = long unsigned int; ptrdiff_t = long int]’ 2988 | inter.deinterpol(planes, 0, 0, xtheta, xphi, map); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sht.cc:3001:99: required from here 3001 | double epsilon, double sigma_min, double sigma_max, size_t nthreads, SHT_mode mode, bool verbose); | ^ ./src/ducc0/sht/sphere_interpol.h:357:46: error: call of ‘(const ducc0::detail_mav::vmav) (int, size_t&, size_t&)’ is ambiguous 357 | T * DUCC0_RESTRICT ptr0 = &cube(0,hlp.itheta,hlp.iphi); | ~~~~^~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:358:46: error: call of ‘(const ducc0::detail_mav::vmav) (int, size_t&, size_t&)’ is ambiguous 358 | T * DUCC0_RESTRICT ptr1 = &cube(1,hlp.itheta,hlp.iphi); | ~~~~^~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:393:47: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&, size_t&)’ is ambiguous 393 | T * DUCC0_RESTRICT ptr = &cube(icomp,hlp.itheta,hlp.iphi); | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h: In instantiation of ‘void ducc0::detail_sphereinterpol::SphereInterpol::deinterpolx(size_t, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with long unsigned int supp = 15; Tloc = double; T = double; size_t = long unsigned int]’: ./src/ducc0/sht/sphere_interpol.h:282:51: required from ‘void ducc0::detail_sphereinterpol::SphereInterpol::deinterpolx(size_t, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with long unsigned int supp = 16; Tloc = double; T = double; size_t = long unsigned int]’ 282 | if (supp_(supp_, cube, itheta0, iphi0, theta, phi, signal); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:567:27: required from ‘void ducc0::detail_sphereinterpol::SphereInterpol::deinterpol(const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with Tloc = double; T = double; size_t = long unsigned int]’ 567 | deinterpolx(kernel->support(), cube, itheta0, iphi0, theta, phi, signal); | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sht.cc:2988:19: required from ‘void ducc0::detail_sht::adjoint_synthesis_general(const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, ptrdiff_t, const ducc0::detail_mav::cmav&, double, double, double, size_t, SHT_mode, bool) [with T = double; Tloc = double; size_t = long unsigned int; ptrdiff_t = long int]’ 2988 | inter.deinterpol(planes, 0, 0, xtheta, xphi, map); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sht.cc:3001:99: required from here 3001 | double epsilon, double sigma_min, double sigma_max, size_t nthreads, SHT_mode mode, bool verbose); | ^ ./src/ducc0/sht/sphere_interpol.h:357:46: error: call of ‘(const ducc0::detail_mav::vmav) (int, size_t&, size_t&)’ is ambiguous 357 | T * DUCC0_RESTRICT ptr0 = &cube(0,hlp.itheta,hlp.iphi); | ~~~~^~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:358:46: error: call of ‘(const ducc0::detail_mav::vmav) (int, size_t&, size_t&)’ is ambiguous 358 | T * DUCC0_RESTRICT ptr1 = &cube(1,hlp.itheta,hlp.iphi); | ~~~~^~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:393:47: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&, size_t&)’ is ambiguous 393 | T * DUCC0_RESTRICT ptr = &cube(icomp,hlp.itheta,hlp.iphi); | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/fft/fftnd_impl.h: In instantiation of ‘void ducc0::detail_fft::general_convolve_axis(const ducc0::detail_mav::cfmav&, const ducc0::detail_mav::vfmav&, size_t, const ducc0::detail_mav::cmav&, size_t, const Exec&) [with Tplan = pocketfft_c; T0 = double; T = ducc0::Cmplx; Exec = ExecConv1C; size_t = long unsigned int]’: ./src/ducc0/fft/fftnd_impl.h:1875:43: required from ‘void ducc0::detail_fft::convolve_axis(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vfmav >&, size_t, const ducc0::detail_mav::cmav, 1>&, size_t) [with T = double; size_t = long unsigned int]’ 1875 | general_convolve_axis, T>(in2, out2, axis, kernel2, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1876 | ExecConv1C()); | ~~~~~~~~~~~~~ ./python/fft_pymod.cc:459:23: required from ‘pybind11::array ducc0::detail_pymodule_fft::{anonymous}::convolve_axis_internal(const pybind11::array&, pybind11::array&, std::size_t, const pybind11::array&, std::size_t) [with T = std::complex; std::size_t = long unsigned int]’ 459 | ducc0::convolve_axis(in, out, axis, kernel, nthreads); | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/fft_pymod.cc:467:49: required from ‘pybind11::array ducc0::detail_pymodule_fft::{anonymous}::convolve_axis_internal_c(const pybind11::array&, pybind11::array&, std::size_t, const pybind11::array&, std::size_t) [with T = double; std::size_t = long unsigned int]’ 467 | return convolve_axis_internal>(in_, out_, axis, kernel_, nthreads); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/fft_pymod.cc:474:5: required from here 474 | DISPATCH(in, c128, c64, clong, convolve_axis_internal_c, (in, out, axis, | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~ 475 | kernel, nthreads)) | ~~~~~~~~~~~~~~~~~ ./src/ducc0/fft/fftnd_impl.h:1713:12: error: call of ‘(ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 1713 | fkernel(i) = kernel(i); | ~~~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = ducc0::Cmplx; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = ducc0::Cmplx; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/fft/fftnd_impl.h: In instantiation of ‘void ducc0::detail_fft::general_convolve_axis(const ducc0::detail_mav::cfmav&, const ducc0::detail_mav::vfmav&, size_t, const ducc0::detail_mav::cmav&, size_t, const Exec&) [with Tplan = pocketfft_c; T0 = float; T = ducc0::Cmplx; Exec = ExecConv1C; size_t = long unsigned int]’: ./src/ducc0/fft/fftnd_impl.h:1875:43: required from ‘void ducc0::detail_fft::convolve_axis(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vfmav >&, size_t, const ducc0::detail_mav::cmav, 1>&, size_t) [with T = float; size_t = long unsigned int]’ 1875 | general_convolve_axis, T>(in2, out2, axis, kernel2, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1876 | ExecConv1C()); | ~~~~~~~~~~~~~ ./python/fft_pymod.cc:459:23: required from ‘pybind11::array ducc0::detail_pymodule_fft::{anonymous}::convolve_axis_internal(const pybind11::array&, pybind11::array&, std::size_t, const pybind11::array&, std::size_t) [with T = std::complex; std::size_t = long unsigned int]’ 459 | ducc0::convolve_axis(in, out, axis, kernel, nthreads); | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/fft_pymod.cc:467:49: required from ‘pybind11::array ducc0::detail_pymodule_fft::{anonymous}::convolve_axis_internal_c(const pybind11::array&, pybind11::array&, std::size_t, const pybind11::array&, std::size_t) [with T = float; std::size_t = long unsigned int]’ 467 | return convolve_axis_internal>(in_, out_, axis, kernel_, nthreads); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/fft_pymod.cc:474:5: required from here 474 | DISPATCH(in, c128, c64, clong, convolve_axis_internal_c, (in, out, axis, | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~ 475 | kernel, nthreads)) | ~~~~~~~~~~~~~~~~~ ./src/ducc0/fft/fftnd_impl.h:1713:12: error: call of ‘(ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 1713 | fkernel(i) = kernel(i); | ~~~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = ducc0::Cmplx; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = ducc0::Cmplx; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/fft/fftnd_impl.h: In instantiation of ‘void ducc0::detail_fft::general_convolve_axis(const ducc0::detail_mav::cfmav&, const ducc0::detail_mav::vfmav&, size_t, const ducc0::detail_mav::cmav&, size_t, const Exec&) [with Tplan = pocketfft_c; T0 = long double; T = ducc0::Cmplx; Exec = ExecConv1C; size_t = long unsigned int]’: ./src/ducc0/fft/fftnd_impl.h:1875:43: required from ‘void ducc0::detail_fft::convolve_axis(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vfmav >&, size_t, const ducc0::detail_mav::cmav, 1>&, size_t) [with T = long double; size_t = long unsigned int]’ 1875 | general_convolve_axis, T>(in2, out2, axis, kernel2, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1876 | ExecConv1C()); | ~~~~~~~~~~~~~ ./python/fft_pymod.cc:459:23: required from ‘pybind11::array ducc0::detail_pymodule_fft::{anonymous}::convolve_axis_internal(const pybind11::array&, pybind11::array&, std::size_t, const pybind11::array&, std::size_t) [with T = std::complex; std::size_t = long unsigned int]’ 459 | ducc0::convolve_axis(in, out, axis, kernel, nthreads); | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/fft_pymod.cc:467:49: required from ‘pybind11::array ducc0::detail_pymodule_fft::{anonymous}::convolve_axis_internal_c(const pybind11::array&, pybind11::array&, std::size_t, const pybind11::array&, std::size_t) [with T = long double; std::size_t = long unsigned int]’ 467 | return convolve_axis_internal>(in_, out_, axis, kernel_, nthreads); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/fft_pymod.cc:474:5: required from here 474 | DISPATCH(in, c128, c64, clong, convolve_axis_internal_c, (in, out, axis, | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~ 475 | kernel, nthreads)) | ~~~~~~~~~~~~~~~~~ ./src/ducc0/fft/fftnd_impl.h:1713:12: error: call of ‘(ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 1713 | fkernel(i) = kernel(i); | ~~~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = ducc0::Cmplx; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = ducc0::Cmplx; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h: In instantiation of ‘void ducc0::detail_totalconvolve::ConvolverPlan::interpolx(size_t, const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with long unsigned int supp = 8; T = double; size_t = long unsigned int]’: ./src/ducc0/sht/totalconvolve.h:188:52: required from ‘void ducc0::detail_totalconvolve::ConvolverPlan::interpolx(size_t, const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with long unsigned int supp = 16; T = double; size_t = long unsigned int]’ 188 | if (supp_<=supp/2) return interpolx(supp_, cube, itheta0, iphi0, theta, phi, psi, signal); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/totalconvolve.h:547:25: required from ‘void ducc0::detail_totalconvolve::ConvolverPlan::interpol(const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with T = double; size_t = long unsigned int]’ 547 | interpolx(kernel->support(), cube, itheta0, iphi0, theta, phi, psi, signal); | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/totalconvolve_pymod.cc:98:15: required from ‘void ducc0::detail_pymodule_totalconvolve::Py_ConvolverPlan::Py_interpol(const pybind11::array&, size_t, size_t, const pybind11::array&, const pybind11::array&, const pybind11::array&, pybind11::array&) [with T = double; size_t = long unsigned int]’ 98 | interpol(cube, itheta0, iphi0, theta, phi, psi, signal); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/totalconvolve_pymod.cc:799:31: required from here 799 | .def("interpol", &conv_d::Py_interpol, Py_ConvolverPlan_interpol_DS, | ^~~~~~~~~~~ ./src/ducc0/sht/totalconvolve.h:249:17: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&)’ is ambiguous 249 | signal(i) = reduce(res, std::plus<>()); | ~~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h: In instantiation of ‘void ducc0::detail_totalconvolve::ConvolverPlan::interpolx(size_t, const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with long unsigned int supp = 15; T = double; size_t = long unsigned int]’: ./src/ducc0/sht/totalconvolve.h:190:49: required from ‘void ducc0::detail_totalconvolve::ConvolverPlan::interpolx(size_t, const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with long unsigned int supp = 16; T = double; size_t = long unsigned int]’ 190 | if (supp_(supp_, cube, itheta0, iphi0, theta, phi, psi, signal); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/totalconvolve.h:547:25: required from ‘void ducc0::detail_totalconvolve::ConvolverPlan::interpol(const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with T = double; size_t = long unsigned int]’ 547 | interpolx(kernel->support(), cube, itheta0, iphi0, theta, phi, psi, signal); | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/totalconvolve_pymod.cc:98:15: required from ‘void ducc0::detail_pymodule_totalconvolve::Py_ConvolverPlan::Py_interpol(const pybind11::array&, size_t, size_t, const pybind11::array&, const pybind11::array&, const pybind11::array&, pybind11::array&) [with T = double; size_t = long unsigned int]’ 98 | interpol(cube, itheta0, iphi0, theta, phi, psi, signal); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/totalconvolve_pymod.cc:799:31: required from here 799 | .def("interpol", &conv_d::Py_interpol, Py_ConvolverPlan_interpol_DS, | ^~~~~~~~~~~ ./src/ducc0/sht/totalconvolve.h:249:17: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&)’ is ambiguous 249 | signal(i) = reduce(res, std::plus<>()); | ~~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h: In instantiation of ‘void ducc0::detail_totalconvolve::ConvolverPlan::deinterpolx(size_t, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with long unsigned int supp = 8; T = double; size_t = long unsigned int]’: ./src/ducc0/sht/totalconvolve.h:258:54: required from ‘void ducc0::detail_totalconvolve::ConvolverPlan::deinterpolx(size_t, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with long unsigned int supp = 16; T = double; size_t = long unsigned int]’ 258 | if (supp_<=supp/2) return deinterpolx(supp_, cube, itheta0, iphi0, theta, phi, psi, signal); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/totalconvolve.h:555:27: required from ‘void ducc0::detail_totalconvolve::ConvolverPlan::deinterpol(const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with T = double; size_t = long unsigned int]’ 555 | deinterpolx(kernel->support(), cube, itheta0, iphi0, theta, phi, psi, signal); | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/totalconvolve_pymod.cc:112:17: required from ‘void ducc0::detail_pymodule_totalconvolve::Py_ConvolverPlan::Py_deinterpol(pybind11::array&, size_t, size_t, const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::array&) [with T = double; size_t = long unsigned int]’ 112 | deinterpol(cube, itheta0, iphi0, theta, phi, psi, signal); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/totalconvolve_pymod.cc:801:33: required from here 801 | .def("deinterpol", &conv_d::Py_deinterpol, Py_ConvolverPlan_deinterpol_DS, | ^~~~~~~~~~~~~ ./src/ducc0/sht/totalconvolve.h:294:41: error: call of ‘(const ducc0::detail_mav::vmav) (long unsigned int&, size_t&, size_t&)’ is ambiguous 294 | T * DUCC0_RESTRICT ptr = &cube(ipsi,hlp.itheta,hlp.iphi); | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h:352:28: error: call of ‘(const ducc0::detail_mav::vmav) (long unsigned int&, size_t&, size_t&)’ is ambiguous 352 | ptr = &cube(ipsi,hlp.itheta,hlp.iphi); | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h: In instantiation of ‘void ducc0::detail_totalconvolve::ConvolverPlan::deinterpolx(size_t, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with long unsigned int supp = 15; T = double; size_t = long unsigned int]’: ./src/ducc0/sht/totalconvolve.h:260:51: required from ‘void ducc0::detail_totalconvolve::ConvolverPlan::deinterpolx(size_t, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with long unsigned int supp = 16; T = double; size_t = long unsigned int]’ 260 | if (supp_(supp_, cube, itheta0, iphi0, theta, phi, psi, signal); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/totalconvolve.h:555:27: required from ‘void ducc0::detail_totalconvolve::ConvolverPlan::deinterpol(const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with T = double; size_t = long unsigned int]’ 555 | deinterpolx(kernel->support(), cube, itheta0, iphi0, theta, phi, psi, signal); | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/totalconvolve_pymod.cc:112:17: required from ‘void ducc0::detail_pymodule_totalconvolve::Py_ConvolverPlan::Py_deinterpol(pybind11::array&, size_t, size_t, const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::array&) [with T = double; size_t = long unsigned int]’ 112 | deinterpol(cube, itheta0, iphi0, theta, phi, psi, signal); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/totalconvolve_pymod.cc:801:33: required from here 801 | .def("deinterpol", &conv_d::Py_deinterpol, Py_ConvolverPlan_deinterpol_DS, | ^~~~~~~~~~~~~ ./src/ducc0/sht/totalconvolve.h:294:41: error: call of ‘(const ducc0::detail_mav::vmav) (long unsigned int&, size_t&, size_t&)’ is ambiguous 294 | T * DUCC0_RESTRICT ptr = &cube(ipsi,hlp.itheta,hlp.iphi); | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h:352:28: error: call of ‘(const ducc0::detail_mav::vmav) (long unsigned int&, size_t&, size_t&)’ is ambiguous 352 | ptr = &cube(ipsi,hlp.itheta,hlp.iphi); | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h: In instantiation of ‘void ducc0::detail_totalconvolve::ConvolverPlan::interpolx(size_t, const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with long unsigned int supp = 4; T = float; size_t = long unsigned int]’: ./src/ducc0/sht/totalconvolve.h:188:52: required from ‘void ducc0::detail_totalconvolve::ConvolverPlan::interpolx(size_t, const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with long unsigned int supp = 8; T = float; size_t = long unsigned int]’ 188 | if (supp_<=supp/2) return interpolx(supp_, cube, itheta0, iphi0, theta, phi, psi, signal); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/totalconvolve.h:547:25: required from ‘void ducc0::detail_totalconvolve::ConvolverPlan::interpol(const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with T = float; size_t = long unsigned int]’ 547 | interpolx(kernel->support(), cube, itheta0, iphi0, theta, phi, psi, signal); | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/totalconvolve_pymod.cc:98:15: required from ‘void ducc0::detail_pymodule_totalconvolve::Py_ConvolverPlan::Py_interpol(const pybind11::array&, size_t, size_t, const pybind11::array&, const pybind11::array&, const pybind11::array&, pybind11::array&) [with T = float; size_t = long unsigned int]’ 98 | interpol(cube, itheta0, iphi0, theta, phi, psi, signal); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/totalconvolve_pymod.cc:821:31: required from here 821 | .def("interpol", &conv_f::Py_interpol, Py_ConvolverPlan_f_interpol_DS, | ^~~~~~~~~~~ ./src/ducc0/sht/totalconvolve.h:249:17: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&)’ is ambiguous 249 | signal(i) = reduce(res, std::plus<>()); | ~~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = float; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = float; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h: In instantiation of ‘void ducc0::detail_totalconvolve::ConvolverPlan::interpolx(size_t, const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with long unsigned int supp = 7; T = float; size_t = long unsigned int]’: ./src/ducc0/sht/totalconvolve.h:190:49: required from ‘void ducc0::detail_totalconvolve::ConvolverPlan::interpolx(size_t, const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with long unsigned int supp = 8; T = float; size_t = long unsigned int]’ 190 | if (supp_(supp_, cube, itheta0, iphi0, theta, phi, psi, signal); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/totalconvolve.h:547:25: required from ‘void ducc0::detail_totalconvolve::ConvolverPlan::interpol(const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with T = float; size_t = long unsigned int]’ 547 | interpolx(kernel->support(), cube, itheta0, iphi0, theta, phi, psi, signal); | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/totalconvolve_pymod.cc:98:15: required from ‘void ducc0::detail_pymodule_totalconvolve::Py_ConvolverPlan::Py_interpol(const pybind11::array&, size_t, size_t, const pybind11::array&, const pybind11::array&, const pybind11::array&, pybind11::array&) [with T = float; size_t = long unsigned int]’ 98 | interpol(cube, itheta0, iphi0, theta, phi, psi, signal); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/totalconvolve_pymod.cc:821:31: required from here 821 | .def("interpol", &conv_f::Py_interpol, Py_ConvolverPlan_f_interpol_DS, | ^~~~~~~~~~~ ./src/ducc0/sht/totalconvolve.h:249:17: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&)’ is ambiguous 249 | signal(i) = reduce(res, std::plus<>()); | ~~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = float; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = float; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h: In instantiation of ‘void ducc0::detail_totalconvolve::ConvolverPlan::deinterpolx(size_t, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with long unsigned int supp = 4; T = float; size_t = long unsigned int]’: ./src/ducc0/sht/totalconvolve.h:258:54: required from ‘void ducc0::detail_totalconvolve::ConvolverPlan::deinterpolx(size_t, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with long unsigned int supp = 8; T = float; size_t = long unsigned int]’ 258 | if (supp_<=supp/2) return deinterpolx(supp_, cube, itheta0, iphi0, theta, phi, psi, signal); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/totalconvolve.h:555:27: required from ‘void ducc0::detail_totalconvolve::ConvolverPlan::deinterpol(const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with T = float; size_t = long unsigned int]’ 555 | deinterpolx(kernel->support(), cube, itheta0, iphi0, theta, phi, psi, signal); | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/totalconvolve_pymod.cc:112:17: required from ‘void ducc0::detail_pymodule_totalconvolve::Py_ConvolverPlan::Py_deinterpol(pybind11::array&, size_t, size_t, const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::array&) [with T = float; size_t = long unsigned int]’ 112 | deinterpol(cube, itheta0, iphi0, theta, phi, psi, signal); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/totalconvolve_pymod.cc:823:33: required from here 823 | .def("deinterpol", &conv_f::Py_deinterpol, Py_ConvolverPlan_f_deinterpol_DS, | ^~~~~~~~~~~~~ ./src/ducc0/sht/totalconvolve.h:294:41: error: call of ‘(const ducc0::detail_mav::vmav) (long unsigned int&, size_t&, size_t&)’ is ambiguous 294 | T * DUCC0_RESTRICT ptr = &cube(ipsi,hlp.itheta,hlp.iphi); | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h:331:28: error: call of ‘(const ducc0::detail_mav::vmav) (long unsigned int&, size_t&, size_t&)’ is ambiguous 331 | ptr = &cube(ipsi,hlp.itheta,hlp.iphi); | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h: In instantiation of ‘void ducc0::detail_totalconvolve::ConvolverPlan::deinterpolx(size_t, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with long unsigned int supp = 7; T = float; size_t = long unsigned int]’: ./src/ducc0/sht/totalconvolve.h:260:51: required from ‘void ducc0::detail_totalconvolve::ConvolverPlan::deinterpolx(size_t, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with long unsigned int supp = 8; T = float; size_t = long unsigned int]’ 260 | if (supp_(supp_, cube, itheta0, iphi0, theta, phi, psi, signal); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/totalconvolve.h:555:27: required from ‘void ducc0::detail_totalconvolve::ConvolverPlan::deinterpol(const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with T = float; size_t = long unsigned int]’ 555 | deinterpolx(kernel->support(), cube, itheta0, iphi0, theta, phi, psi, signal); | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/totalconvolve_pymod.cc:112:17: required from ‘void ducc0::detail_pymodule_totalconvolve::Py_ConvolverPlan::Py_deinterpol(pybind11::array&, size_t, size_t, const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::array&) [with T = float; size_t = long unsigned int]’ 112 | deinterpol(cube, itheta0, iphi0, theta, phi, psi, signal); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/totalconvolve_pymod.cc:823:33: required from here 823 | .def("deinterpol", &conv_f::Py_deinterpol, Py_ConvolverPlan_f_deinterpol_DS, | ^~~~~~~~~~~~~ ./src/ducc0/sht/totalconvolve.h:294:41: error: call of ‘(const ducc0::detail_mav::vmav) (long unsigned int&, size_t&, size_t&)’ is ambiguous 294 | T * DUCC0_RESTRICT ptr = &cube(ipsi,hlp.itheta,hlp.iphi); | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h:352:28: error: call of ‘(const ducc0::detail_mav::vmav) (long unsigned int&, size_t&, size_t&)’ is ambiguous 352 | ptr = &cube(ipsi,hlp.itheta,hlp.iphi); | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::scanData() [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:1657:7: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1657 | scanData(); | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = float; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = float; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:208:32: required from here 208 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 209 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 210 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 211 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1611:36: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (long unsigned int&, size_t&)’ is ambiguous 1611 | if (!gridding) ms_out(irow, ichan)=0; | ~~~~~~^~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::scanData() [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:1657:7: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1657 | scanData(); | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = float; Tms = float; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = float; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:192:20: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = float; size_t = long unsigned int]’ 192 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 193 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 194 | sigma_max, center_x, center_y, allow_nshift); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:208:32: required from here 208 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 209 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 210 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 211 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1611:36: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (long unsigned int&, size_t&)’ is ambiguous 1611 | if (!gridding) ms_out(irow, ichan)=0; | ~~~~~~^~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::scanData() [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:1657:7: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1657 | scanData(); | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = double; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = double; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:213:33: required from here 213 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 214 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 215 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 216 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1611:36: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (long unsigned int&, size_t&)’ is ambiguous 1611 | if (!gridding) ms_out(irow, ichan)=0; | ~~~~~~^~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h: In instantiation of ‘void ducc0::detail_sphereinterpol::SphereInterpol::interpolx(size_t, const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with long unsigned int supp = 6; Tloc = double; T = float; size_t = long unsigned int]’: ./src/ducc0/sht/sphere_interpol.h:180:49: recursively required from ‘void ducc0::detail_sphereinterpol::SphereInterpol::interpolx(size_t, const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with long unsigned int supp = 7; Tloc = double; T = float; size_t = long unsigned int]’ 180 | if (supp_(supp_, cube, itheta0, iphi0, theta, phi, signal); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:180:49: required from ‘void ducc0::detail_sphereinterpol::SphereInterpol::interpolx(size_t, const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with long unsigned int supp = 8; Tloc = double; T = float; size_t = long unsigned int]’ ./src/ducc0/sht/sphere_interpol.h:559:25: required from ‘void ducc0::detail_sphereinterpol::SphereInterpol::interpol(const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with Tloc = double; T = float; size_t = long unsigned int]’ 559 | interpolx(kernel->support(), cube, itheta0, iphi0, theta, phi, signal); | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sht.cc:2951:17: required from ‘void ducc0::detail_sht::synthesis_general(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, ptrdiff_t, const ducc0::detail_mav::cmav&, double, double, double, size_t, SHT_mode, bool) [with T = float; Tloc = double; size_t = long unsigned int; ptrdiff_t = long int]’ 2951 | inter.interpol(planes, 0, 0, xtheta, xphi, map); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sht.cc:2959:99: required from here 2959 | double epsilon, double sigma_min, double sigma_max, size_t nthreads, SHT_mode mode, bool verbose); | ^ ./src/ducc0/sht/sphere_interpol.h:242:21: error: call of ‘(const ducc0::detail_mav::vmav) (int, size_t&)’ is ambiguous 242 | signal(0, i) = reduce(tres0, std::plus<>()); | ~~~~~~^~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:243:21: error: call of ‘(const ducc0::detail_mav::vmav) (int, size_t&)’ is ambiguous 243 | signal(1, i) = reduce(tres1, std::plus<>()); | ~~~~~~^~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:269:23: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&)’ is ambiguous 269 | signal(icomp, i) = reduce(tres, std::plus<>()); | ~~~~~~^~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h: In instantiation of ‘void ducc0::detail_sphereinterpol::SphereInterpol::interpolx(size_t, const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with long unsigned int supp = 4; Tloc = double; T = double; size_t = long unsigned int]’: ./src/ducc0/sht/sphere_interpol.h:178:52: recursively required from ‘void ducc0::detail_sphereinterpol::SphereInterpol::interpolx(size_t, const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with long unsigned int supp = 8; Tloc = double; T = double; size_t = long unsigned int]’ 178 | if (supp_<=supp/2) return interpolx(supp_, cube, itheta0, iphi0, theta, phi, signal); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:178:52: required from ‘void ducc0::detail_sphereinterpol::SphereInterpol::interpolx(size_t, const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with long unsigned int supp = 16; Tloc = double; T = double; size_t = long unsigned int]’ ./src/ducc0/sht/sphere_interpol.h:559:25: required from ‘void ducc0::detail_sphereinterpol::SphereInterpol::interpol(const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with Tloc = double; T = double; size_t = long unsigned int]’ 559 | interpolx(kernel->support(), cube, itheta0, iphi0, theta, phi, signal); | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sht.cc:2951:17: required from ‘void ducc0::detail_sht::synthesis_general(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, ptrdiff_t, const ducc0::detail_mav::cmav&, double, double, double, size_t, SHT_mode, bool) [with T = double; Tloc = double; size_t = long unsigned int; ptrdiff_t = long int]’ 2951 | inter.interpol(planes, 0, 0, xtheta, xphi, map); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sht.cc:2963:99: required from here 2963 | double epsilon, double sigma_min, double sigma_max, size_t nthreads, SHT_mode mode, bool verbose); | ^ ./src/ducc0/sht/sphere_interpol.h:242:21: error: call of ‘(const ducc0::detail_mav::vmav) (int, size_t&)’ is ambiguous 242 | signal(0, i) = reduce(tres0, std::plus<>()); | ~~~~~~^~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:243:21: error: call of ‘(const ducc0::detail_mav::vmav) (int, size_t&)’ is ambiguous 243 | signal(1, i) = reduce(tres1, std::plus<>()); | ~~~~~~^~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:269:23: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&)’ is ambiguous 269 | signal(icomp, i) = reduce(tres, std::plus<>()); | ~~~~~~^~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h: In instantiation of ‘void ducc0::detail_sphereinterpol::SphereInterpol::interpolx(size_t, const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with long unsigned int supp = 7; Tloc = double; T = double; size_t = long unsigned int]’: ./src/ducc0/sht/sphere_interpol.h:180:49: required from ‘void ducc0::detail_sphereinterpol::SphereInterpol::interpolx(size_t, const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with long unsigned int supp = 8; Tloc = double; T = double; size_t = long unsigned int]’ 180 | if (supp_(supp_, cube, itheta0, iphi0, theta, phi, signal); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:178:52: required from ‘void ducc0::detail_sphereinterpol::SphereInterpol::interpolx(size_t, const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with long unsigned int supp = 16; Tloc = double; T = double; size_t = long unsigned int]’ 178 | if (supp_<=supp/2) return interpolx(supp_, cube, itheta0, iphi0, theta, phi, signal); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:559:25: required from ‘void ducc0::detail_sphereinterpol::SphereInterpol::interpol(const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with Tloc = double; T = double; size_t = long unsigned int]’ 559 | interpolx(kernel->support(), cube, itheta0, iphi0, theta, phi, signal); | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sht.cc:2951:17: required from ‘void ducc0::detail_sht::synthesis_general(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, ptrdiff_t, const ducc0::detail_mav::cmav&, double, double, double, size_t, SHT_mode, bool) [with T = double; Tloc = double; size_t = long unsigned int; ptrdiff_t = long int]’ 2951 | inter.interpol(planes, 0, 0, xtheta, xphi, map); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sht.cc:2963:99: required from here 2963 | double epsilon, double sigma_min, double sigma_max, size_t nthreads, SHT_mode mode, bool verbose); | ^ ./src/ducc0/sht/sphere_interpol.h:242:21: error: call of ‘(const ducc0::detail_mav::vmav) (int, size_t&)’ is ambiguous 242 | signal(0, i) = reduce(tres0, std::plus<>()); | ~~~~~~^~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:243:21: error: call of ‘(const ducc0::detail_mav::vmav) (int, size_t&)’ is ambiguous 243 | signal(1, i) = reduce(tres1, std::plus<>()); | ~~~~~~^~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:269:23: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&)’ is ambiguous 269 | signal(icomp, i) = reduce(tres, std::plus<>()); | ~~~~~~^~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h: In instantiation of ‘void ducc0::detail_sphereinterpol::SphereInterpol::interpolx(size_t, const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with long unsigned int supp = 14; Tloc = double; T = double; size_t = long unsigned int]’: ./src/ducc0/sht/sphere_interpol.h:180:49: recursively required from ‘void ducc0::detail_sphereinterpol::SphereInterpol::interpolx(size_t, const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with long unsigned int supp = 15; Tloc = double; T = double; size_t = long unsigned int]’ 180 | if (supp_(supp_, cube, itheta0, iphi0, theta, phi, signal); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:180:49: required from ‘void ducc0::detail_sphereinterpol::SphereInterpol::interpolx(size_t, const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with long unsigned int supp = 16; Tloc = double; T = double; size_t = long unsigned int]’ ./src/ducc0/sht/sphere_interpol.h:559:25: required from ‘void ducc0::detail_sphereinterpol::SphereInterpol::interpol(const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with Tloc = double; T = double; size_t = long unsigned int]’ 559 | interpolx(kernel->support(), cube, itheta0, iphi0, theta, phi, signal); | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sht.cc:2951:17: required from ‘void ducc0::detail_sht::synthesis_general(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, ptrdiff_t, const ducc0::detail_mav::cmav&, double, double, double, size_t, SHT_mode, bool) [with T = double; Tloc = double; size_t = long unsigned int; ptrdiff_t = long int]’ 2951 | inter.interpol(planes, 0, 0, xtheta, xphi, map); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sht.cc:2963:99: required from here 2963 | double epsilon, double sigma_min, double sigma_max, size_t nthreads, SHT_mode mode, bool verbose); | ^ ./src/ducc0/sht/sphere_interpol.h:242:21: error: call of ‘(const ducc0::detail_mav::vmav) (int, size_t&)’ is ambiguous 242 | signal(0, i) = reduce(tres0, std::plus<>()); | ~~~~~~^~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:243:21: error: call of ‘(const ducc0::detail_mav::vmav) (int, size_t&)’ is ambiguous 243 | signal(1, i) = reduce(tres1, std::plus<>()); | ~~~~~~^~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:269:23: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&)’ is ambiguous 269 | signal(icomp, i) = reduce(tres, std::plus<>()); | ~~~~~~^~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h: In instantiation of ‘void ducc0::detail_sphereinterpol::SphereInterpol::deinterpolx(size_t, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with long unsigned int supp = 6; Tloc = double; T = float; size_t = long unsigned int]’: ./src/ducc0/sht/sphere_interpol.h:282:51: recursively required from ‘void ducc0::detail_sphereinterpol::SphereInterpol::deinterpolx(size_t, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with long unsigned int supp = 7; Tloc = double; T = float; size_t = long unsigned int]’ 282 | if (supp_(supp_, cube, itheta0, iphi0, theta, phi, signal); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:282:51: required from ‘void ducc0::detail_sphereinterpol::SphereInterpol::deinterpolx(size_t, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with long unsigned int supp = 8; Tloc = double; T = float; size_t = long unsigned int]’ ./src/ducc0/sht/sphere_interpol.h:567:27: required from ‘void ducc0::detail_sphereinterpol::SphereInterpol::deinterpol(const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with Tloc = double; T = float; size_t = long unsigned int]’ 567 | deinterpolx(kernel->support(), cube, itheta0, iphi0, theta, phi, signal); | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sht.cc:2988:19: required from ‘void ducc0::detail_sht::adjoint_synthesis_general(const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, ptrdiff_t, const ducc0::detail_mav::cmav&, double, double, double, size_t, SHT_mode, bool) [with T = float; Tloc = double; size_t = long unsigned int; ptrdiff_t = long int]’ 2988 | inter.deinterpol(planes, 0, 0, xtheta, xphi, map); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sht.cc:2997:99: required from here 2997 | double epsilon, double sigma_min, double sigma_max, size_t nthreads, SHT_mode mode, bool verbose); | ^ ./src/ducc0/sht/sphere_interpol.h:357:46: error: call of ‘(const ducc0::detail_mav::vmav) (int, size_t&, size_t&)’ is ambiguous 357 | T * DUCC0_RESTRICT ptr0 = &cube(0,hlp.itheta,hlp.iphi); | ~~~~^~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:358:46: error: call of ‘(const ducc0::detail_mav::vmav) (int, size_t&, size_t&)’ is ambiguous 358 | T * DUCC0_RESTRICT ptr1 = &cube(1,hlp.itheta,hlp.iphi); | ~~~~^~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:393:47: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&, size_t&)’ is ambiguous 393 | T * DUCC0_RESTRICT ptr = &cube(icomp,hlp.itheta,hlp.iphi); | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h: In instantiation of ‘void ducc0::detail_sphereinterpol::SphereInterpol::deinterpolx(size_t, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with long unsigned int supp = 4; Tloc = double; T = double; size_t = long unsigned int]’: ./src/ducc0/sht/sphere_interpol.h:280:54: recursively required from ‘void ducc0::detail_sphereinterpol::SphereInterpol::deinterpolx(size_t, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with long unsigned int supp = 8; Tloc = double; T = double; size_t = long unsigned int]’ 280 | if (supp_<=supp/2) return deinterpolx(supp_, cube, itheta0, iphi0, theta, phi, signal); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:280:54: required from ‘void ducc0::detail_sphereinterpol::SphereInterpol::deinterpolx(size_t, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with long unsigned int supp = 16; Tloc = double; T = double; size_t = long unsigned int]’ ./src/ducc0/sht/sphere_interpol.h:567:27: required from ‘void ducc0::detail_sphereinterpol::SphereInterpol::deinterpol(const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with Tloc = double; T = double; size_t = long unsigned int]’ 567 | deinterpolx(kernel->support(), cube, itheta0, iphi0, theta, phi, signal); | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sht.cc:2988:19: required from ‘void ducc0::detail_sht::adjoint_synthesis_general(const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, ptrdiff_t, const ducc0::detail_mav::cmav&, double, double, double, size_t, SHT_mode, bool) [with T = double; Tloc = double; size_t = long unsigned int; ptrdiff_t = long int]’ 2988 | inter.deinterpol(planes, 0, 0, xtheta, xphi, map); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sht.cc:3001:99: required from here 3001 | double epsilon, double sigma_min, double sigma_max, size_t nthreads, SHT_mode mode, bool verbose); | ^ ./src/ducc0/sht/sphere_interpol.h:357:46: error: call of ‘(const ducc0::detail_mav::vmav) (int, size_t&, size_t&)’ is ambiguous 357 | T * DUCC0_RESTRICT ptr0 = &cube(0,hlp.itheta,hlp.iphi); | ~~~~^~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:358:46: error: call of ‘(const ducc0::detail_mav::vmav) (int, size_t&, size_t&)’ is ambiguous 358 | T * DUCC0_RESTRICT ptr1 = &cube(1,hlp.itheta,hlp.iphi); | ~~~~^~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:393:47: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&, size_t&)’ is ambiguous 393 | T * DUCC0_RESTRICT ptr = &cube(icomp,hlp.itheta,hlp.iphi); | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h: In instantiation of ‘void ducc0::detail_sphereinterpol::SphereInterpol::deinterpolx(size_t, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with long unsigned int supp = 7; Tloc = double; T = double; size_t = long unsigned int]’: ./src/ducc0/sht/sphere_interpol.h:282:51: required from ‘void ducc0::detail_sphereinterpol::SphereInterpol::deinterpolx(size_t, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with long unsigned int supp = 8; Tloc = double; T = double; size_t = long unsigned int]’ 282 | if (supp_(supp_, cube, itheta0, iphi0, theta, phi, signal); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:280:54: required from ‘void ducc0::detail_sphereinterpol::SphereInterpol::deinterpolx(size_t, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with long unsigned int supp = 16; Tloc = double; T = double; size_t = long unsigned int]’ 280 | if (supp_<=supp/2) return deinterpolx(supp_, cube, itheta0, iphi0, theta, phi, signal); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:567:27: required from ‘void ducc0::detail_sphereinterpol::SphereInterpol::deinterpol(const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with Tloc = double; T = double; size_t = long unsigned int]’ 567 | deinterpolx(kernel->support(), cube, itheta0, iphi0, theta, phi, signal); | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sht.cc:2988:19: required from ‘void ducc0::detail_sht::adjoint_synthesis_general(const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, ptrdiff_t, const ducc0::detail_mav::cmav&, double, double, double, size_t, SHT_mode, bool) [with T = double; Tloc = double; size_t = long unsigned int; ptrdiff_t = long int]’ 2988 | inter.deinterpol(planes, 0, 0, xtheta, xphi, map); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sht.cc:3001:99: required from here 3001 | double epsilon, double sigma_min, double sigma_max, size_t nthreads, SHT_mode mode, bool verbose); | ^ ./src/ducc0/sht/sphere_interpol.h:357:46: error: call of ‘(const ducc0::detail_mav::vmav) (int, size_t&, size_t&)’ is ambiguous 357 | T * DUCC0_RESTRICT ptr0 = &cube(0,hlp.itheta,hlp.iphi); | ~~~~^~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:358:46: error: call of ‘(const ducc0::detail_mav::vmav) (int, size_t&, size_t&)’ is ambiguous 358 | T * DUCC0_RESTRICT ptr1 = &cube(1,hlp.itheta,hlp.iphi); | ~~~~^~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:393:47: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&, size_t&)’ is ambiguous 393 | T * DUCC0_RESTRICT ptr = &cube(icomp,hlp.itheta,hlp.iphi); | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h: In instantiation of ‘void ducc0::detail_sphereinterpol::SphereInterpol::deinterpolx(size_t, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with long unsigned int supp = 14; Tloc = double; T = double; size_t = long unsigned int]’: ./src/ducc0/sht/sphere_interpol.h:282:51: recursively required from ‘void ducc0::detail_sphereinterpol::SphereInterpol::deinterpolx(size_t, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with long unsigned int supp = 15; Tloc = double; T = double; size_t = long unsigned int]’ 282 | if (supp_(supp_, cube, itheta0, iphi0, theta, phi, signal); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:282:51: required from ‘void ducc0::detail_sphereinterpol::SphereInterpol::deinterpolx(size_t, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with long unsigned int supp = 16; Tloc = double; T = double; size_t = long unsigned int]’ ./src/ducc0/sht/sphere_interpol.h:567:27: required from ‘void ducc0::detail_sphereinterpol::SphereInterpol::deinterpol(const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with Tloc = double; T = double; size_t = long unsigned int]’ 567 | deinterpolx(kernel->support(), cube, itheta0, iphi0, theta, phi, signal); | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sht.cc:2988:19: required from ‘void ducc0::detail_sht::adjoint_synthesis_general(const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, ptrdiff_t, const ducc0::detail_mav::cmav&, double, double, double, size_t, SHT_mode, bool) [with T = double; Tloc = double; size_t = long unsigned int; ptrdiff_t = long int]’ 2988 | inter.deinterpol(planes, 0, 0, xtheta, xphi, map); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sht.cc:3001:99: required from here 3001 | double epsilon, double sigma_min, double sigma_max, size_t nthreads, SHT_mode mode, bool verbose); | ^ ./src/ducc0/sht/sphere_interpol.h:357:46: error: call of ‘(const ducc0::detail_mav::vmav) (int, size_t&, size_t&)’ is ambiguous 357 | T * DUCC0_RESTRICT ptr0 = &cube(0,hlp.itheta,hlp.iphi); | ~~~~^~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:358:46: error: call of ‘(const ducc0::detail_mav::vmav) (int, size_t&, size_t&)’ is ambiguous 358 | T * DUCC0_RESTRICT ptr1 = &cube(1,hlp.itheta,hlp.iphi); | ~~~~^~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:393:47: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&, size_t&)’ is ambiguous 393 | T * DUCC0_RESTRICT ptr = &cube(icomp,hlp.itheta,hlp.iphi); | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/fft/fftnd_impl.h: In instantiation of ‘void ducc0::detail_fft::copy_output(const Titer&, const T*, const ducc0::detail_mav::vfmav&) [with T = double; Titer = multi_iter<16>]’: ./src/ducc0/fft/fftnd_impl.h:1311:16: required from ‘void ducc0::detail_fft::ExecR2R::operator()(const Titer&, const ducc0::detail_mav::cfmav&, const ducc0::detail_mav::vfmav&, Tstorage&, const ducc0::detail_fft::pocketfft_r&, T0, size_t, bool) const [with T0 = double; Tstorage = ducc0::detail_fft::TmpStorage2; Titer = ducc0::detail_fft::multi_iter<16>; size_t = long unsigned int]’ 1311 | copy_output(it, res, out); | ~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/fft/fftnd_impl.h:780:15: required from ‘void ducc0::detail_fft::general_nd(const ducc0::detail_mav::cfmav&, const ducc0::detail_mav::vfmav&, const shape_t&, T0, size_t, const Exec&, bool) [with Tplan = pocketfft_r; T = double; T0 = double; Exec = ExecR2R; shape_t = std::vector; size_t = long unsigned int]’ 780 | exec(it, tin, out, storage2, *vplan, fct, nth1d, inplace); | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/fft/fftnd_impl.h:1525:29: required from ‘void ducc0::detail_fft::r2r_fftpack(const ducc0::detail_mav::cfmav&, const ducc0::detail_mav::vfmav&, const shape_t&, bool, bool, T, size_t) [with T = double; shape_t = std::vector; size_t = long unsigned int]’ 1525 | general_nd>(in, out, axes, fct, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1526 | ExecR2R{real2hermitian, forward}); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/fft_pymod.cc:211:21: required from ‘pybind11::array ducc0::detail_pymodule_fft::{anonymous}::r2r_fftpack_internal(const pybind11::array&, const pybind11::object&, bool, bool, int, pybind11::object&, std::size_t) [with T = double; std::size_t = long unsigned int]’ 211 | ducc0::r2r_fftpack(ain, aout, axes, real2hermitian, forward, fct, nthreads); | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/fft_pymod.cc:220:3: required from here 220 | DISPATCH(in, f64, f32, flong, r2r_fftpack_internal, (in, axes_, | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~ 221 | real2hermitian, forward, inorm, out_, nthreads)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/fft/fftnd_impl.h:486:22: error: call of overloaded ‘raw(ptrdiff_t)’ is ambiguous 486 | if (src == &dst.raw(it.oofs(0))) return; // in-place | ~~~~~~~^~~~~~~~~~~~ ./src/ducc0/fft/fftnd_impl.h:486:22: note: there are 2 candidates ./src/ducc0/infra/mav.h:119:35: note: candidate 1: ‘const T& ducc0::detail_mav::cmembuf::raw(I) const [with I = long int; T = double]’ 119 | template const T &raw(I i) const | ^~~ ./src/ducc0/infra/mav.h:659:29: note: candidate 2: ‘T& ducc0::detail_mav::vfmav::raw(I) const [with I = long int; T = double]’ 659 | template T &raw(I i) const | ^~~ ./src/ducc0/fft/fftnd_impl.h: In instantiation of ‘void ducc0::detail_fft::copy_output(const Titer&, const T*, const ducc0::detail_mav::vfmav&) [with T = float; Titer = multi_iter<16>]’: ./src/ducc0/fft/fftnd_impl.h:1311:16: required from ‘void ducc0::detail_fft::ExecR2R::operator()(const Titer&, const ducc0::detail_mav::cfmav&, const ducc0::detail_mav::vfmav&, Tstorage&, const ducc0::detail_fft::pocketfft_r&, T0, size_t, bool) const [with T0 = float; Tstorage = ducc0::detail_fft::TmpStorage2; Titer = ducc0::detail_fft::multi_iter<16>; size_t = long unsigned int]’ 1311 | copy_output(it, res, out); | ~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/fft/fftnd_impl.h:780:15: required from ‘void ducc0::detail_fft::general_nd(const ducc0::detail_mav::cfmav&, const ducc0::detail_mav::vfmav&, const shape_t&, T0, size_t, const Exec&, bool) [with Tplan = pocketfft_r; T = float; T0 = float; Exec = ExecR2R; shape_t = std::vector; size_t = long unsigned int]’ 780 | exec(it, tin, out, storage2, *vplan, fct, nth1d, inplace); | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/fft/fftnd_impl.h:1525:29: required from ‘void ducc0::detail_fft::r2r_fftpack(const ducc0::detail_mav::cfmav&, const ducc0::detail_mav::vfmav&, const shape_t&, bool, bool, T, size_t) [with T = float; shape_t = std::vector; size_t = long unsigned int]’ 1525 | general_nd>(in, out, axes, fct, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1526 | ExecR2R{real2hermitian, forward}); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/fft_pymod.cc:211:21: required from ‘pybind11::array ducc0::detail_pymodule_fft::{anonymous}::r2r_fftpack_internal(const pybind11::array&, const pybind11::object&, bool, bool, int, pybind11::object&, std::size_t) [with T = float; std::size_t = long unsigned int]’ 211 | ducc0::r2r_fftpack(ain, aout, axes, real2hermitian, forward, fct, nthreads); | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/fft_pymod.cc:220:3: required from here 220 | DISPATCH(in, f64, f32, flong, r2r_fftpack_internal, (in, axes_, | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~ 221 | real2hermitian, forward, inorm, out_, nthreads)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/fft/fftnd_impl.h:486:22: error: call of overloaded ‘raw(ptrdiff_t)’ is ambiguous 486 | if (src == &dst.raw(it.oofs(0))) return; // in-place | ~~~~~~~^~~~~~~~~~~~ ./src/ducc0/fft/fftnd_impl.h:486:22: note: there are 2 candidates ./src/ducc0/infra/mav.h:119:35: note: candidate 1: ‘const T& ducc0::detail_mav::cmembuf::raw(I) const [with I = long int; T = float]’ 119 | template const T &raw(I i) const | ^~~ ./src/ducc0/infra/mav.h:659:29: note: candidate 2: ‘T& ducc0::detail_mav::vfmav::raw(I) const [with I = long int; T = float]’ 659 | template T &raw(I i) const | ^~~ ./src/ducc0/fft/fftnd_impl.h: In instantiation of ‘void ducc0::detail_fft::copy_output(const Titer&, const T*, const ducc0::detail_mav::vfmav&) [with T = long double; Titer = multi_iter<16>]’: ./src/ducc0/fft/fftnd_impl.h:1311:16: required from ‘void ducc0::detail_fft::ExecR2R::operator()(const Titer&, const ducc0::detail_mav::cfmav&, const ducc0::detail_mav::vfmav&, Tstorage&, const ducc0::detail_fft::pocketfft_r&, T0, size_t, bool) const [with T0 = long double; Tstorage = ducc0::detail_fft::TmpStorage2; Titer = ducc0::detail_fft::multi_iter<16>; size_t = long unsigned int]’ 1311 | copy_output(it, res, out); | ~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/fft/fftnd_impl.h:780:15: required from ‘void ducc0::detail_fft::general_nd(const ducc0::detail_mav::cfmav&, const ducc0::detail_mav::vfmav&, const shape_t&, T0, size_t, const Exec&, bool) [with Tplan = pocketfft_r; T = long double; T0 = long double; Exec = ExecR2R; shape_t = std::vector; size_t = long unsigned int]’ 780 | exec(it, tin, out, storage2, *vplan, fct, nth1d, inplace); | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/fft/fftnd_impl.h:1525:29: required from ‘void ducc0::detail_fft::r2r_fftpack(const ducc0::detail_mav::cfmav&, const ducc0::detail_mav::vfmav&, const shape_t&, bool, bool, T, size_t) [with T = long double; shape_t = std::vector; size_t = long unsigned int]’ 1525 | general_nd>(in, out, axes, fct, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1526 | ExecR2R{real2hermitian, forward}); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/fft_pymod.cc:211:21: required from ‘pybind11::array ducc0::detail_pymodule_fft::{anonymous}::r2r_fftpack_internal(const pybind11::array&, const pybind11::object&, bool, bool, int, pybind11::object&, std::size_t) [with T = long double; std::size_t = long unsigned int]’ 211 | ducc0::r2r_fftpack(ain, aout, axes, real2hermitian, forward, fct, nthreads); | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/fft_pymod.cc:220:3: required from here 220 | DISPATCH(in, f64, f32, flong, r2r_fftpack_internal, (in, axes_, | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~ 221 | real2hermitian, forward, inorm, out_, nthreads)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/fft/fftnd_impl.h:486:22: error: call of overloaded ‘raw(ptrdiff_t)’ is ambiguous 486 | if (src == &dst.raw(it.oofs(0))) return; // in-place | ~~~~~~~^~~~~~~~~~~~ ./src/ducc0/fft/fftnd_impl.h:486:22: note: there are 2 candidates ./src/ducc0/infra/mav.h:119:35: note: candidate 1: ‘const T& ducc0::detail_mav::cmembuf::raw(I) const [with I = long int; T = long double]’ 119 | template const T &raw(I i) const | ^~~ ./src/ducc0/infra/mav.h:659:29: note: candidate 2: ‘T& ducc0::detail_mav::vfmav::raw(I) const [with I = long int; T = long double]’ 659 | template T &raw(I i) const | ^~~ ./src/ducc0/fft/fftnd_impl.h: In instantiation of ‘void ducc0::detail_fft::copy_output(const Titer&, const T*, const ducc0::detail_mav::vfmav&) [with T = double; Titer = multi_iter<2>]’: ./src/ducc0/fft/fftnd_impl.h:1270:20: required from ‘void ducc0::detail_fft::general_c2r(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vfmav&, size_t, bool, T, size_t) [with T = double; size_t = long unsigned int]’ 1270 | copy_output(it, res, out); | ~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/fft/fftnd_impl.h:1489:14: required from ‘void ducc0::detail_fft::c2r(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vfmav&, size_t, bool, T, size_t) [with T = double; size_t = long unsigned int]’ 1489 | general_c2r(in2, out, axis, forward, fct, nthreads); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/fft/fftnd_impl.h:1511:15: required from ‘void ducc0::detail_fft::c2r_mut(const ducc0::detail_mav::vfmav >&, const ducc0::detail_mav::vfmav&, const shape_t&, bool, T, size_t) [with T = double; shape_t = std::vector; size_t = long unsigned int]’ 1511 | return c2r(in, out, axes[0], forward, fct, nthreads); | ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/fft_pymod.cc:319:19: required from ‘pybind11::array ducc0::detail_pymodule_fft::{anonymous}::c2r_internal(const pybind11::array&, const pybind11::object&, std::size_t, bool, int, pybind11::object&, std::size_t, bool) [with T = double; std::size_t = long unsigned int]’ 319 | ducc0::c2r_mut(ain, aout, axes, forward, fct, nthreads); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/fft_pymod.cc:334:3: required from here 334 | DISPATCH(in, c128, c64, clong, c2r_internal, (in, axes_, lastsize, forward, | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 335 | inorm, out_, nthreads, allow_overwriting_input)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/fft/fftnd_impl.h:486:22: error: call of overloaded ‘raw(ptrdiff_t)’ is ambiguous 486 | if (src == &dst.raw(it.oofs(0))) return; // in-place | ~~~~~~~^~~~~~~~~~~~ ./src/ducc0/fft/fftnd_impl.h:486:22: note: there are 2 candidates ./src/ducc0/infra/mav.h:119:35: note: candidate 1: ‘const T& ducc0::detail_mav::cmembuf::raw(I) const [with I = long int; T = double]’ 119 | template const T &raw(I i) const | ^~~ ./src/ducc0/infra/mav.h:659:29: note: candidate 2: ‘T& ducc0::detail_mav::vfmav::raw(I) const [with I = long int; T = double]’ 659 | template T &raw(I i) const | ^~~ ./src/ducc0/fft/fftnd_impl.h: In instantiation of ‘void ducc0::detail_fft::copy_output(const Titer&, const T*, const ducc0::detail_mav::vfmav&) [with T = float; Titer = multi_iter<4>]’: ./src/ducc0/fft/fftnd_impl.h:1270:20: required from ‘void ducc0::detail_fft::general_c2r(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vfmav&, size_t, bool, T, size_t) [with T = float; size_t = long unsigned int]’ 1270 | copy_output(it, res, out); | ~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/fft/fftnd_impl.h:1489:14: required from ‘void ducc0::detail_fft::c2r(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vfmav&, size_t, bool, T, size_t) [with T = float; size_t = long unsigned int]’ 1489 | general_c2r(in2, out, axis, forward, fct, nthreads); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/fft/fftnd_impl.h:1511:15: required from ‘void ducc0::detail_fft::c2r_mut(const ducc0::detail_mav::vfmav >&, const ducc0::detail_mav::vfmav&, const shape_t&, bool, T, size_t) [with T = float; shape_t = std::vector; size_t = long unsigned int]’ 1511 | return c2r(in, out, axes[0], forward, fct, nthreads); | ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/fft_pymod.cc:319:19: required from ‘pybind11::array ducc0::detail_pymodule_fft::{anonymous}::c2r_internal(const pybind11::array&, const pybind11::object&, std::size_t, bool, int, pybind11::object&, std::size_t, bool) [with T = float; std::size_t = long unsigned int]’ 319 | ducc0::c2r_mut(ain, aout, axes, forward, fct, nthreads); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/fft_pymod.cc:334:3: required from here 334 | DISPATCH(in, c128, c64, clong, c2r_internal, (in, axes_, lastsize, forward, | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 335 | inorm, out_, nthreads, allow_overwriting_input)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/fft/fftnd_impl.h:486:22: error: call of overloaded ‘raw(ptrdiff_t)’ is ambiguous 486 | if (src == &dst.raw(it.oofs(0))) return; // in-place | ~~~~~~~^~~~~~~~~~~~ ./src/ducc0/fft/fftnd_impl.h:486:22: note: there are 2 candidates ./src/ducc0/infra/mav.h:119:35: note: candidate 1: ‘const T& ducc0::detail_mav::cmembuf::raw(I) const [with I = long int; T = float]’ 119 | template const T &raw(I i) const | ^~~ ./src/ducc0/infra/mav.h:659:29: note: candidate 2: ‘T& ducc0::detail_mav::vfmav::raw(I) const [with I = long int; T = float]’ 659 | template T &raw(I i) const | ^~~ ./src/ducc0/fft/fftnd_impl.h: In instantiation of ‘void ducc0::detail_fft::copy_output(const Titer&, const T*, const ducc0::detail_mav::vfmav&) [with T = long double; Titer = multi_iter<1>]’: ./src/ducc0/fft/fftnd_impl.h:1270:20: required from ‘void ducc0::detail_fft::general_c2r(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vfmav&, size_t, bool, T, size_t) [with T = long double; size_t = long unsigned int]’ 1270 | copy_output(it, res, out); | ~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/fft/fftnd_impl.h:1489:14: required from ‘void ducc0::detail_fft::c2r(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vfmav&, size_t, bool, T, size_t) [with T = long double; size_t = long unsigned int]’ 1489 | general_c2r(in2, out, axis, forward, fct, nthreads); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/fft/fftnd_impl.h:1511:15: required from ‘void ducc0::detail_fft::c2r_mut(const ducc0::detail_mav::vfmav >&, const ducc0::detail_mav::vfmav&, const shape_t&, bool, T, size_t) [with T = long double; shape_t = std::vector; size_t = long unsigned int]’ 1511 | return c2r(in, out, axes[0], forward, fct, nthreads); | ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/fft_pymod.cc:319:19: required from ‘pybind11::array ducc0::detail_pymodule_fft::{anonymous}::c2r_internal(const pybind11::array&, const pybind11::object&, std::size_t, bool, int, pybind11::object&, std::size_t, bool) [with T = long double; std::size_t = long unsigned int]’ 319 | ducc0::c2r_mut(ain, aout, axes, forward, fct, nthreads); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/fft_pymod.cc:334:3: required from here 334 | DISPATCH(in, c128, c64, clong, c2r_internal, (in, axes_, lastsize, forward, | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 335 | inorm, out_, nthreads, allow_overwriting_input)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/fft/fftnd_impl.h:486:22: error: call of overloaded ‘raw(ptrdiff_t)’ is ambiguous 486 | if (src == &dst.raw(it.oofs(0))) return; // in-place | ~~~~~~~^~~~~~~~~~~~ ./src/ducc0/fft/fftnd_impl.h:486:22: note: there are 2 candidates ./src/ducc0/infra/mav.h:119:35: note: candidate 1: ‘const T& ducc0::detail_mav::cmembuf::raw(I) const [with I = long int; T = long double]’ 119 | template const T &raw(I i) const | ^~~ ./src/ducc0/infra/mav.h:659:29: note: candidate 2: ‘T& ducc0::detail_mav::vfmav::raw(I) const [with I = long int; T = long double]’ 659 | template T &raw(I i) const | ^~~ ./src/ducc0/sht/totalconvolve.h: In instantiation of ‘void ducc0::detail_totalconvolve::ConvolverPlan::interpolx(size_t, const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with long unsigned int supp = 4; T = double; size_t = long unsigned int]’: ./src/ducc0/sht/totalconvolve.h:188:52: recursively required from ‘void ducc0::detail_totalconvolve::ConvolverPlan::interpolx(size_t, const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with long unsigned int supp = 8; T = double; size_t = long unsigned int]’ 188 | if (supp_<=supp/2) return interpolx(supp_, cube, itheta0, iphi0, theta, phi, psi, signal); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/totalconvolve.h:188:52: required from ‘void ducc0::detail_totalconvolve::ConvolverPlan::interpolx(size_t, const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with long unsigned int supp = 16; T = double; size_t = long unsigned int]’ ./src/ducc0/sht/totalconvolve.h:547:25: required from ‘void ducc0::detail_totalconvolve::ConvolverPlan::interpol(const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with T = double; size_t = long unsigned int]’ 547 | interpolx(kernel->support(), cube, itheta0, iphi0, theta, phi, psi, signal); | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/totalconvolve_pymod.cc:98:15: required from ‘void ducc0::detail_pymodule_totalconvolve::Py_ConvolverPlan::Py_interpol(const pybind11::array&, size_t, size_t, const pybind11::array&, const pybind11::array&, const pybind11::array&, pybind11::array&) [with T = double; size_t = long unsigned int]’ 98 | interpol(cube, itheta0, iphi0, theta, phi, psi, signal); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/totalconvolve_pymod.cc:799:31: required from here 799 | .def("interpol", &conv_d::Py_interpol, Py_ConvolverPlan_interpol_DS, | ^~~~~~~~~~~ ./src/ducc0/sht/totalconvolve.h:249:17: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&)’ is ambiguous 249 | signal(i) = reduce(res, std::plus<>()); | ~~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h: In instantiation of ‘void ducc0::detail_totalconvolve::ConvolverPlan::interpolx(size_t, const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with long unsigned int supp = 7; T = double; size_t = long unsigned int]’: ./src/ducc0/sht/totalconvolve.h:190:49: required from ‘void ducc0::detail_totalconvolve::ConvolverPlan::interpolx(size_t, const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with long unsigned int supp = 8; T = double; size_t = long unsigned int]’ 190 | if (supp_(supp_, cube, itheta0, iphi0, theta, phi, psi, signal); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/totalconvolve.h:188:52: required from ‘void ducc0::detail_totalconvolve::ConvolverPlan::interpolx(size_t, const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with long unsigned int supp = 16; T = double; size_t = long unsigned int]’ 188 | if (supp_<=supp/2) return interpolx(supp_, cube, itheta0, iphi0, theta, phi, psi, signal); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/totalconvolve.h:547:25: required from ‘void ducc0::detail_totalconvolve::ConvolverPlan::interpol(const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with T = double; size_t = long unsigned int]’ 547 | interpolx(kernel->support(), cube, itheta0, iphi0, theta, phi, psi, signal); | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/totalconvolve_pymod.cc:98:15: required from ‘void ducc0::detail_pymodule_totalconvolve::Py_ConvolverPlan::Py_interpol(const pybind11::array&, size_t, size_t, const pybind11::array&, const pybind11::array&, const pybind11::array&, pybind11::array&) [with T = double; size_t = long unsigned int]’ 98 | interpol(cube, itheta0, iphi0, theta, phi, psi, signal); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/totalconvolve_pymod.cc:799:31: required from here 799 | .def("interpol", &conv_d::Py_interpol, Py_ConvolverPlan_interpol_DS, | ^~~~~~~~~~~ ./src/ducc0/sht/totalconvolve.h:249:17: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&)’ is ambiguous 249 | signal(i) = reduce(res, std::plus<>()); | ~~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h: In instantiation of ‘void ducc0::detail_totalconvolve::ConvolverPlan::interpolx(size_t, const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with long unsigned int supp = 14; T = double; size_t = long unsigned int]’: ./src/ducc0/sht/totalconvolve.h:190:49: recursively required from ‘void ducc0::detail_totalconvolve::ConvolverPlan::interpolx(size_t, const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with long unsigned int supp = 15; T = double; size_t = long unsigned int]’ 190 | if (supp_(supp_, cube, itheta0, iphi0, theta, phi, psi, signal); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/totalconvolve.h:190:49: required from ‘void ducc0::detail_totalconvolve::ConvolverPlan::interpolx(size_t, const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with long unsigned int supp = 16; T = double; size_t = long unsigned int]’ ./src/ducc0/sht/totalconvolve.h:547:25: required from ‘void ducc0::detail_totalconvolve::ConvolverPlan::interpol(const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with T = double; size_t = long unsigned int]’ 547 | interpolx(kernel->support(), cube, itheta0, iphi0, theta, phi, psi, signal); | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/totalconvolve_pymod.cc:98:15: required from ‘void ducc0::detail_pymodule_totalconvolve::Py_ConvolverPlan::Py_interpol(const pybind11::array&, size_t, size_t, const pybind11::array&, const pybind11::array&, const pybind11::array&, pybind11::array&) [with T = double; size_t = long unsigned int]’ 98 | interpol(cube, itheta0, iphi0, theta, phi, psi, signal); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/totalconvolve_pymod.cc:799:31: required from here 799 | .def("interpol", &conv_d::Py_interpol, Py_ConvolverPlan_interpol_DS, | ^~~~~~~~~~~ ./src/ducc0/sht/totalconvolve.h:249:17: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&)’ is ambiguous 249 | signal(i) = reduce(res, std::plus<>()); | ~~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h: In instantiation of ‘void ducc0::detail_totalconvolve::ConvolverPlan::deinterpolx(size_t, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with long unsigned int supp = 4; T = double; size_t = long unsigned int]’: ./src/ducc0/sht/totalconvolve.h:258:54: recursively required from ‘void ducc0::detail_totalconvolve::ConvolverPlan::deinterpolx(size_t, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with long unsigned int supp = 8; T = double; size_t = long unsigned int]’ 258 | if (supp_<=supp/2) return deinterpolx(supp_, cube, itheta0, iphi0, theta, phi, psi, signal); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/totalconvolve.h:258:54: required from ‘void ducc0::detail_totalconvolve::ConvolverPlan::deinterpolx(size_t, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with long unsigned int supp = 16; T = double; size_t = long unsigned int]’ ./src/ducc0/sht/totalconvolve.h:555:27: required from ‘void ducc0::detail_totalconvolve::ConvolverPlan::deinterpol(const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with T = double; size_t = long unsigned int]’ 555 | deinterpolx(kernel->support(), cube, itheta0, iphi0, theta, phi, psi, signal); | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/totalconvolve_pymod.cc:112:17: required from ‘void ducc0::detail_pymodule_totalconvolve::Py_ConvolverPlan::Py_deinterpol(pybind11::array&, size_t, size_t, const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::array&) [with T = double; size_t = long unsigned int]’ 112 | deinterpol(cube, itheta0, iphi0, theta, phi, psi, signal); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/totalconvolve_pymod.cc:801:33: required from here 801 | .def("deinterpol", &conv_d::Py_deinterpol, Py_ConvolverPlan_deinterpol_DS, | ^~~~~~~~~~~~~ ./src/ducc0/sht/totalconvolve.h:294:41: error: call of ‘(const ducc0::detail_mav::vmav) (long unsigned int&, size_t&, size_t&)’ is ambiguous 294 | T * DUCC0_RESTRICT ptr = &cube(ipsi,hlp.itheta,hlp.iphi); | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h:352:28: error: call of ‘(const ducc0::detail_mav::vmav) (long unsigned int&, size_t&, size_t&)’ is ambiguous 352 | ptr = &cube(ipsi,hlp.itheta,hlp.iphi); | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h: In instantiation of ‘void ducc0::detail_totalconvolve::ConvolverPlan::deinterpolx(size_t, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with long unsigned int supp = 7; T = double; size_t = long unsigned int]’: ./src/ducc0/sht/totalconvolve.h:260:51: required from ‘void ducc0::detail_totalconvolve::ConvolverPlan::deinterpolx(size_t, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with long unsigned int supp = 8; T = double; size_t = long unsigned int]’ 260 | if (supp_(supp_, cube, itheta0, iphi0, theta, phi, psi, signal); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/totalconvolve.h:258:54: required from ‘void ducc0::detail_totalconvolve::ConvolverPlan::deinterpolx(size_t, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with long unsigned int supp = 16; T = double; size_t = long unsigned int]’ 258 | if (supp_<=supp/2) return deinterpolx(supp_, cube, itheta0, iphi0, theta, phi, psi, signal); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/totalconvolve.h:555:27: required from ‘void ducc0::detail_totalconvolve::ConvolverPlan::deinterpol(const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with T = double; size_t = long unsigned int]’ 555 | deinterpolx(kernel->support(), cube, itheta0, iphi0, theta, phi, psi, signal); | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/totalconvolve_pymod.cc:112:17: required from ‘void ducc0::detail_pymodule_totalconvolve::Py_ConvolverPlan::Py_deinterpol(pybind11::array&, size_t, size_t, const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::array&) [with T = double; size_t = long unsigned int]’ 112 | deinterpol(cube, itheta0, iphi0, theta, phi, psi, signal); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/totalconvolve_pymod.cc:801:33: required from here 801 | .def("deinterpol", &conv_d::Py_deinterpol, Py_ConvolverPlan_deinterpol_DS, | ^~~~~~~~~~~~~ ./src/ducc0/sht/totalconvolve.h:294:41: error: call of ‘(const ducc0::detail_mav::vmav) (long unsigned int&, size_t&, size_t&)’ is ambiguous 294 | T * DUCC0_RESTRICT ptr = &cube(ipsi,hlp.itheta,hlp.iphi); | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h:352:28: error: call of ‘(const ducc0::detail_mav::vmav) (long unsigned int&, size_t&, size_t&)’ is ambiguous 352 | ptr = &cube(ipsi,hlp.itheta,hlp.iphi); | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h: In instantiation of ‘void ducc0::detail_totalconvolve::ConvolverPlan::deinterpolx(size_t, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with long unsigned int supp = 14; T = double; size_t = long unsigned int]’: ./src/ducc0/sht/totalconvolve.h:260:51: recursively required from ‘void ducc0::detail_totalconvolve::ConvolverPlan::deinterpolx(size_t, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with long unsigned int supp = 15; T = double; size_t = long unsigned int]’ 260 | if (supp_(supp_, cube, itheta0, iphi0, theta, phi, psi, signal); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/totalconvolve.h:260:51: required from ‘void ducc0::detail_totalconvolve::ConvolverPlan::deinterpolx(size_t, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with long unsigned int supp = 16; T = double; size_t = long unsigned int]’ ./src/ducc0/sht/totalconvolve.h:555:27: required from ‘void ducc0::detail_totalconvolve::ConvolverPlan::deinterpol(const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with T = double; size_t = long unsigned int]’ 555 | deinterpolx(kernel->support(), cube, itheta0, iphi0, theta, phi, psi, signal); | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/totalconvolve_pymod.cc:112:17: required from ‘void ducc0::detail_pymodule_totalconvolve::Py_ConvolverPlan::Py_deinterpol(pybind11::array&, size_t, size_t, const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::array&) [with T = double; size_t = long unsigned int]’ 112 | deinterpol(cube, itheta0, iphi0, theta, phi, psi, signal); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/totalconvolve_pymod.cc:801:33: required from here 801 | .def("deinterpol", &conv_d::Py_deinterpol, Py_ConvolverPlan_deinterpol_DS, | ^~~~~~~~~~~~~ ./src/ducc0/sht/totalconvolve.h:294:41: error: call of ‘(const ducc0::detail_mav::vmav) (long unsigned int&, size_t&, size_t&)’ is ambiguous 294 | T * DUCC0_RESTRICT ptr = &cube(ipsi,hlp.itheta,hlp.iphi); | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h:352:28: error: call of ‘(const ducc0::detail_mav::vmav) (long unsigned int&, size_t&, size_t&)’ is ambiguous 352 | ptr = &cube(ipsi,hlp.itheta,hlp.iphi); | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h: In instantiation of ‘void ducc0::detail_totalconvolve::ConvolverPlan::interpolx(size_t, const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with long unsigned int supp = 6; T = float; size_t = long unsigned int]’: ./src/ducc0/sht/totalconvolve.h:190:49: recursively required from ‘void ducc0::detail_totalconvolve::ConvolverPlan::interpolx(size_t, const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with long unsigned int supp = 7; T = float; size_t = long unsigned int]’ 190 | if (supp_(supp_, cube, itheta0, iphi0, theta, phi, psi, signal); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/totalconvolve.h:190:49: required from ‘void ducc0::detail_totalconvolve::ConvolverPlan::interpolx(size_t, const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with long unsigned int supp = 8; T = float; size_t = long unsigned int]’ ./src/ducc0/sht/totalconvolve.h:547:25: required from ‘void ducc0::detail_totalconvolve::ConvolverPlan::interpol(const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with T = float; size_t = long unsigned int]’ 547 | interpolx(kernel->support(), cube, itheta0, iphi0, theta, phi, psi, signal); | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/totalconvolve_pymod.cc:98:15: required from ‘void ducc0::detail_pymodule_totalconvolve::Py_ConvolverPlan::Py_interpol(const pybind11::array&, size_t, size_t, const pybind11::array&, const pybind11::array&, const pybind11::array&, pybind11::array&) [with T = float; size_t = long unsigned int]’ 98 | interpol(cube, itheta0, iphi0, theta, phi, psi, signal); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/totalconvolve_pymod.cc:821:31: required from here 821 | .def("interpol", &conv_f::Py_interpol, Py_ConvolverPlan_f_interpol_DS, | ^~~~~~~~~~~ ./src/ducc0/sht/totalconvolve.h:249:17: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&)’ is ambiguous 249 | signal(i) = reduce(res, std::plus<>()); | ~~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = float; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = float; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h: In instantiation of ‘void ducc0::detail_totalconvolve::ConvolverPlan::deinterpolx(size_t, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with long unsigned int supp = 6; T = float; size_t = long unsigned int]’: ./src/ducc0/sht/totalconvolve.h:260:51: recursively required from ‘void ducc0::detail_totalconvolve::ConvolverPlan::deinterpolx(size_t, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with long unsigned int supp = 7; T = float; size_t = long unsigned int]’ 260 | if (supp_(supp_, cube, itheta0, iphi0, theta, phi, psi, signal); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/totalconvolve.h:260:51: required from ‘void ducc0::detail_totalconvolve::ConvolverPlan::deinterpolx(size_t, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with long unsigned int supp = 8; T = float; size_t = long unsigned int]’ ./src/ducc0/sht/totalconvolve.h:555:27: required from ‘void ducc0::detail_totalconvolve::ConvolverPlan::deinterpol(const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with T = float; size_t = long unsigned int]’ 555 | deinterpolx(kernel->support(), cube, itheta0, iphi0, theta, phi, psi, signal); | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/totalconvolve_pymod.cc:112:17: required from ‘void ducc0::detail_pymodule_totalconvolve::Py_ConvolverPlan::Py_deinterpol(pybind11::array&, size_t, size_t, const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::array&) [with T = float; size_t = long unsigned int]’ 112 | deinterpol(cube, itheta0, iphi0, theta, phi, psi, signal); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/totalconvolve_pymod.cc:823:33: required from here 823 | .def("deinterpol", &conv_f::Py_deinterpol, Py_ConvolverPlan_f_deinterpol_DS, | ^~~~~~~~~~~~~ ./src/ducc0/sht/totalconvolve.h:294:41: error: call of ‘(const ducc0::detail_mav::vmav) (long unsigned int&, size_t&, size_t&)’ is ambiguous 294 | T * DUCC0_RESTRICT ptr = &cube(ipsi,hlp.itheta,hlp.iphi); | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h:352:28: error: call of ‘(const ducc0::detail_mav::vmav) (long unsigned int&, size_t&, size_t&)’ is ambiguous 352 | ptr = &cube(ipsi,hlp.itheta,hlp.iphi); | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::apply_global_corrections(const ducc0::detail_mav::vmav&) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:1444:9: required from ‘void ducc0::detail_gridder::Wgridder::x2dirty() [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1444 | apply_global_corrections(dirty_out); | ^~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:18: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = float; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = float; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:208:32: required from here 208 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 209 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 210 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 211 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1376:20: error: call of ‘(const ducc0::detail_mav::vmav) (long unsigned int&, size_t&)’ is ambiguous 1376 | dirty(i,j)*=Timg(fct); | ~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1382:20: error: call of ‘(const ducc0::detail_mav::vmav) (long unsigned int&, size_t&)’ is ambiguous 1382 | dirty(i,j)*=Timg(fct); | ~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1385:22: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&)’ is ambiguous 1385 | dirty(i2,j)*=Timg(fct); | ~~~~~^~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1387:24: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&)’ is ambiguous 1387 | dirty(i2,j2)*=Timg(fct); | ~~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1390:22: error: call of ‘(const ducc0::detail_mav::vmav) (long unsigned int&, size_t&)’ is ambiguous 1390 | dirty(i,j2)*=Timg(fct); | ~~~~~^~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::complex2hartley(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::vmav&, size_t) [with T = float; size_t = long unsigned int]’: ./src/ducc0/wgridder/wgridder.h:1455:24: required from ‘void ducc0::detail_gridder::Wgridder::x2dirty() [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1455 | complex2hartley(grid, rgrid, nthreads); | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:18: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = float; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = float; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:208:32: required from here 208 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 209 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 210 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 211 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:169:14: error: call of ‘(const ducc0::detail_mav::vmav) (long unsigned int&, size_t&)’ is ambiguous 169 | grid2(u,v) = T(0.5)*(grid( u, v).real()-grid( u, v).imag()+ | ~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::hartley2complex(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 2>&, size_t) [with T = float; size_t = long unsigned int]’: ./src/ducc0/wgridder/wgridder.h:1492:24: required from ‘void ducc0::detail_gridder::Wgridder::dirty2x() [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1492 | hartley2complex(rgrid, grid, nthreads); | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:30: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = float; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = float; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:208:32: required from here 208 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 209 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 210 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 211 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:184:14: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 184 | grid2(u,v) = complex(T(.5)*(grid(u,v)+grid(xu,xv)), | ~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::apply_global_corrections(const ducc0::detail_mav::vmav&) [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:1444:9: required from ‘void ducc0::detail_gridder::Wgridder::x2dirty() [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1444 | apply_global_corrections(dirty_out); | ^~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:18: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = float; Tms = float; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = float; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:192:20: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = float; size_t = long unsigned int]’ 192 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 193 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 194 | sigma_max, center_x, center_y, allow_nshift); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:208:32: required from here 208 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 209 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 210 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 211 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1376:20: error: call of ‘(const ducc0::detail_mav::vmav) (long unsigned int&, size_t&)’ is ambiguous 1376 | dirty(i,j)*=Timg(fct); | ~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1382:20: error: call of ‘(const ducc0::detail_mav::vmav) (long unsigned int&, size_t&)’ is ambiguous 1382 | dirty(i,j)*=Timg(fct); | ~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1385:22: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&)’ is ambiguous 1385 | dirty(i2,j)*=Timg(fct); | ~~~~~^~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1387:24: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&)’ is ambiguous 1387 | dirty(i2,j2)*=Timg(fct); | ~~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1390:22: error: call of ‘(const ducc0::detail_mav::vmav) (long unsigned int&, size_t&)’ is ambiguous 1390 | dirty(i,j2)*=Timg(fct); | ~~~~~^~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::apply_global_corrections(const ducc0::detail_mav::vmav&) [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:1444:9: required from ‘void ducc0::detail_gridder::Wgridder::x2dirty() [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1444 | apply_global_corrections(dirty_out); | ^~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:18: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = double; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = double; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:213:33: required from here 213 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 214 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 215 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 216 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1376:20: error: call of ‘(const ducc0::detail_mav::vmav) (long unsigned int&, size_t&)’ is ambiguous 1376 | dirty(i,j)*=Timg(fct); | ~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1382:20: error: call of ‘(const ducc0::detail_mav::vmav) (long unsigned int&, size_t&)’ is ambiguous 1382 | dirty(i,j)*=Timg(fct); | ~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1385:22: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&)’ is ambiguous 1385 | dirty(i2,j)*=Timg(fct); | ~~~~~^~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1387:24: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&)’ is ambiguous 1387 | dirty(i2,j2)*=Timg(fct); | ~~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1390:22: error: call of ‘(const ducc0::detail_mav::vmav) (long unsigned int&, size_t&)’ is ambiguous 1390 | dirty(i,j2)*=Timg(fct); | ~~~~~^~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::complex2hartley(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::vmav&, size_t) [with T = double; size_t = long unsigned int]’: ./src/ducc0/wgridder/wgridder.h:1455:24: required from ‘void ducc0::detail_gridder::Wgridder::x2dirty() [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1455 | complex2hartley(grid, rgrid, nthreads); | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:18: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = double; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = double; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:213:33: required from here 213 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 214 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 215 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 216 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:169:14: error: call of ‘(const ducc0::detail_mav::vmav) (long unsigned int&, size_t&)’ is ambiguous 169 | grid2(u,v) = T(0.5)*(grid( u, v).real()-grid( u, v).imag()+ | ~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::hartley2complex(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 2>&, size_t) [with T = double; size_t = long unsigned int]’: ./src/ducc0/wgridder/wgridder.h:1492:24: required from ‘void ducc0::detail_gridder::Wgridder::dirty2x() [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1492 | hartley2complex(rgrid, grid, nthreads); | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:30: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = double; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = double; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:213:33: required from here 213 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 214 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 215 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 216 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:184:14: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 184 | grid2(u,v) = complex(T(.5)*(grid(u,v)+grid(xu,xv)), | ~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ In file included from ./src/ducc0/nufft/nufft.h:55: ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:318:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1449:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 1449 | if (si1) si1->interp(cmav,1>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = double]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:500:35: required from here 500 | if (pd) return do_get_points(pd, coord, values, gridd); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:602:21: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 602 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:627:19: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 627 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:653:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1450:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 1450 | if (si2) si2->interp(cmav,2>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = double]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:500:35: required from here 500 | if (pd) return do_get_points(pd, coord, values, gridd); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:951:17: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 951 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:979:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1451:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 1451 | if (si3) si3->interp(cmav,3>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = double]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:500:35: required from here 500 | if (pd) return do_get_points(pd, coord, values, gridd); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1344:17: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 1344 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:318:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1449:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 1449 | if (si1) si1->interp(cmav,1>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = float]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:501:35: required from here 501 | if (pf) return do_get_points(pf, coord, values, gridf); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:602:21: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 602 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:627:19: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 627 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:653:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1450:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 1450 | if (si2) si2->interp(cmav,2>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = float]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:501:35: required from here 501 | if (pf) return do_get_points(pf, coord, values, gridf); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:951:17: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 951 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:979:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1451:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 1451 | if (si3) si3->interp(cmav,3>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = float]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:501:35: required from here 501 | if (pf) return do_get_points(pf, coord, values, gridf); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1344:17: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 1344 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h: In instantiation of ‘void ducc0::detail_sphereinterpol::SphereInterpol::interpolx(size_t, const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with long unsigned int supp = 5; Tloc = double; T = float; size_t = long unsigned int]’: ./src/ducc0/sht/sphere_interpol.h:180:49: recursively required from ‘void ducc0::detail_sphereinterpol::SphereInterpol::interpolx(size_t, const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with long unsigned int supp = 7; Tloc = double; T = float; size_t = long unsigned int]’ 180 | if (supp_(supp_, cube, itheta0, iphi0, theta, phi, signal); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:180:49: required from ‘void ducc0::detail_sphereinterpol::SphereInterpol::interpolx(size_t, const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with long unsigned int supp = 8; Tloc = double; T = float; size_t = long unsigned int]’ ./src/ducc0/sht/sphere_interpol.h:559:25: required from ‘void ducc0::detail_sphereinterpol::SphereInterpol::interpol(const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with Tloc = double; T = float; size_t = long unsigned int]’ 559 | interpolx(kernel->support(), cube, itheta0, iphi0, theta, phi, signal); | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sht.cc:2951:17: required from ‘void ducc0::detail_sht::synthesis_general(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, ptrdiff_t, const ducc0::detail_mav::cmav&, double, double, double, size_t, SHT_mode, bool) [with T = float; Tloc = double; size_t = long unsigned int; ptrdiff_t = long int]’ 2951 | inter.interpol(planes, 0, 0, xtheta, xphi, map); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sht.cc:2959:99: required from here 2959 | double epsilon, double sigma_min, double sigma_max, size_t nthreads, SHT_mode mode, bool verbose); | ^ ./src/ducc0/sht/sphere_interpol.h:242:21: error: call of ‘(const ducc0::detail_mav::vmav) (int, size_t&)’ is ambiguous 242 | signal(0, i) = reduce(tres0, std::plus<>()); | ~~~~~~^~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:243:21: error: call of ‘(const ducc0::detail_mav::vmav) (int, size_t&)’ is ambiguous 243 | signal(1, i) = reduce(tres1, std::plus<>()); | ~~~~~~^~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:269:23: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&)’ is ambiguous 269 | signal(icomp, i) = reduce(tres, std::plus<>()); | ~~~~~~^~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h: In instantiation of ‘void ducc0::detail_sphereinterpol::SphereInterpol::interpolx(size_t, const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with long unsigned int supp = 6; Tloc = double; T = double; size_t = long unsigned int]’: ./src/ducc0/sht/sphere_interpol.h:180:49: recursively required from ‘void ducc0::detail_sphereinterpol::SphereInterpol::interpolx(size_t, const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with long unsigned int supp = 7; Tloc = double; T = double; size_t = long unsigned int]’ 180 | if (supp_(supp_, cube, itheta0, iphi0, theta, phi, signal); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:180:49: required from ‘void ducc0::detail_sphereinterpol::SphereInterpol::interpolx(size_t, const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with long unsigned int supp = 8; Tloc = double; T = double; size_t = long unsigned int]’ ./src/ducc0/sht/sphere_interpol.h:178:52: required from ‘void ducc0::detail_sphereinterpol::SphereInterpol::interpolx(size_t, const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with long unsigned int supp = 16; Tloc = double; T = double; size_t = long unsigned int]’ 178 | if (supp_<=supp/2) return interpolx(supp_, cube, itheta0, iphi0, theta, phi, signal); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:559:25: required from ‘void ducc0::detail_sphereinterpol::SphereInterpol::interpol(const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with Tloc = double; T = double; size_t = long unsigned int]’ 559 | interpolx(kernel->support(), cube, itheta0, iphi0, theta, phi, signal); | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sht.cc:2951:17: required from ‘void ducc0::detail_sht::synthesis_general(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, ptrdiff_t, const ducc0::detail_mav::cmav&, double, double, double, size_t, SHT_mode, bool) [with T = double; Tloc = double; size_t = long unsigned int; ptrdiff_t = long int]’ 2951 | inter.interpol(planes, 0, 0, xtheta, xphi, map); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sht.cc:2963:99: required from here 2963 | double epsilon, double sigma_min, double sigma_max, size_t nthreads, SHT_mode mode, bool verbose); | ^ ./src/ducc0/sht/sphere_interpol.h:242:21: error: call of ‘(const ducc0::detail_mav::vmav) (int, size_t&)’ is ambiguous 242 | signal(0, i) = reduce(tres0, std::plus<>()); | ~~~~~~^~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:243:21: error: call of ‘(const ducc0::detail_mav::vmav) (int, size_t&)’ is ambiguous 243 | signal(1, i) = reduce(tres1, std::plus<>()); | ~~~~~~^~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:269:23: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&)’ is ambiguous 269 | signal(icomp, i) = reduce(tres, std::plus<>()); | ~~~~~~^~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h: In instantiation of ‘void ducc0::detail_sphereinterpol::SphereInterpol::interpolx(size_t, const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with long unsigned int supp = 13; Tloc = double; T = double; size_t = long unsigned int]’: ./src/ducc0/sht/sphere_interpol.h:180:49: recursively required from ‘void ducc0::detail_sphereinterpol::SphereInterpol::interpolx(size_t, const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with long unsigned int supp = 15; Tloc = double; T = double; size_t = long unsigned int]’ 180 | if (supp_(supp_, cube, itheta0, iphi0, theta, phi, signal); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:180:49: required from ‘void ducc0::detail_sphereinterpol::SphereInterpol::interpolx(size_t, const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with long unsigned int supp = 16; Tloc = double; T = double; size_t = long unsigned int]’ ./src/ducc0/sht/sphere_interpol.h:559:25: required from ‘void ducc0::detail_sphereinterpol::SphereInterpol::interpol(const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with Tloc = double; T = double; size_t = long unsigned int]’ 559 | interpolx(kernel->support(), cube, itheta0, iphi0, theta, phi, signal); | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sht.cc:2951:17: required from ‘void ducc0::detail_sht::synthesis_general(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, ptrdiff_t, const ducc0::detail_mav::cmav&, double, double, double, size_t, SHT_mode, bool) [with T = double; Tloc = double; size_t = long unsigned int; ptrdiff_t = long int]’ 2951 | inter.interpol(planes, 0, 0, xtheta, xphi, map); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sht.cc:2963:99: required from here 2963 | double epsilon, double sigma_min, double sigma_max, size_t nthreads, SHT_mode mode, bool verbose); | ^ ./src/ducc0/sht/sphere_interpol.h:242:21: error: call of ‘(const ducc0::detail_mav::vmav) (int, size_t&)’ is ambiguous 242 | signal(0, i) = reduce(tres0, std::plus<>()); | ~~~~~~^~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:243:21: error: call of ‘(const ducc0::detail_mav::vmav) (int, size_t&)’ is ambiguous 243 | signal(1, i) = reduce(tres1, std::plus<>()); | ~~~~~~^~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:269:23: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&)’ is ambiguous 269 | signal(icomp, i) = reduce(tres, std::plus<>()); | ~~~~~~^~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h: In instantiation of ‘void ducc0::detail_sphereinterpol::SphereInterpol::deinterpolx(size_t, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with long unsigned int supp = 5; Tloc = double; T = float; size_t = long unsigned int]’: ./src/ducc0/sht/sphere_interpol.h:282:51: recursively required from ‘void ducc0::detail_sphereinterpol::SphereInterpol::deinterpolx(size_t, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with long unsigned int supp = 7; Tloc = double; T = float; size_t = long unsigned int]’ 282 | if (supp_(supp_, cube, itheta0, iphi0, theta, phi, signal); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:282:51: required from ‘void ducc0::detail_sphereinterpol::SphereInterpol::deinterpolx(size_t, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with long unsigned int supp = 8; Tloc = double; T = float; size_t = long unsigned int]’ ./src/ducc0/sht/sphere_interpol.h:567:27: required from ‘void ducc0::detail_sphereinterpol::SphereInterpol::deinterpol(const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with Tloc = double; T = float; size_t = long unsigned int]’ 567 | deinterpolx(kernel->support(), cube, itheta0, iphi0, theta, phi, signal); | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sht.cc:2988:19: required from ‘void ducc0::detail_sht::adjoint_synthesis_general(const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, ptrdiff_t, const ducc0::detail_mav::cmav&, double, double, double, size_t, SHT_mode, bool) [with T = float; Tloc = double; size_t = long unsigned int; ptrdiff_t = long int]’ 2988 | inter.deinterpol(planes, 0, 0, xtheta, xphi, map); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sht.cc:2997:99: required from here 2997 | double epsilon, double sigma_min, double sigma_max, size_t nthreads, SHT_mode mode, bool verbose); | ^ ./src/ducc0/sht/sphere_interpol.h:357:46: error: call of ‘(const ducc0::detail_mav::vmav) (int, size_t&, size_t&)’ is ambiguous 357 | T * DUCC0_RESTRICT ptr0 = &cube(0,hlp.itheta,hlp.iphi); | ~~~~^~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:358:46: error: call of ‘(const ducc0::detail_mav::vmav) (int, size_t&, size_t&)’ is ambiguous 358 | T * DUCC0_RESTRICT ptr1 = &cube(1,hlp.itheta,hlp.iphi); | ~~~~^~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:393:47: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&, size_t&)’ is ambiguous 393 | T * DUCC0_RESTRICT ptr = &cube(icomp,hlp.itheta,hlp.iphi); | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h: In instantiation of ‘void ducc0::detail_sphereinterpol::SphereInterpol::deinterpolx(size_t, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with long unsigned int supp = 6; Tloc = double; T = double; size_t = long unsigned int]’: ./src/ducc0/sht/sphere_interpol.h:282:51: recursively required from ‘void ducc0::detail_sphereinterpol::SphereInterpol::deinterpolx(size_t, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with long unsigned int supp = 7; Tloc = double; T = double; size_t = long unsigned int]’ 282 | if (supp_(supp_, cube, itheta0, iphi0, theta, phi, signal); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:282:51: required from ‘void ducc0::detail_sphereinterpol::SphereInterpol::deinterpolx(size_t, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with long unsigned int supp = 8; Tloc = double; T = double; size_t = long unsigned int]’ ./src/ducc0/sht/sphere_interpol.h:280:54: required from ‘void ducc0::detail_sphereinterpol::SphereInterpol::deinterpolx(size_t, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with long unsigned int supp = 16; Tloc = double; T = double; size_t = long unsigned int]’ 280 | if (supp_<=supp/2) return deinterpolx(supp_, cube, itheta0, iphi0, theta, phi, signal); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:567:27: required from ‘void ducc0::detail_sphereinterpol::SphereInterpol::deinterpol(const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with Tloc = double; T = double; size_t = long unsigned int]’ 567 | deinterpolx(kernel->support(), cube, itheta0, iphi0, theta, phi, signal); | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sht.cc:2988:19: required from ‘void ducc0::detail_sht::adjoint_synthesis_general(const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, ptrdiff_t, const ducc0::detail_mav::cmav&, double, double, double, size_t, SHT_mode, bool) [with T = double; Tloc = double; size_t = long unsigned int; ptrdiff_t = long int]’ 2988 | inter.deinterpol(planes, 0, 0, xtheta, xphi, map); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sht.cc:3001:99: required from here 3001 | double epsilon, double sigma_min, double sigma_max, size_t nthreads, SHT_mode mode, bool verbose); | ^ ./src/ducc0/sht/sphere_interpol.h:357:46: error: call of ‘(const ducc0::detail_mav::vmav) (int, size_t&, size_t&)’ is ambiguous 357 | T * DUCC0_RESTRICT ptr0 = &cube(0,hlp.itheta,hlp.iphi); | ~~~~^~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:358:46: error: call of ‘(const ducc0::detail_mav::vmav) (int, size_t&, size_t&)’ is ambiguous 358 | T * DUCC0_RESTRICT ptr1 = &cube(1,hlp.itheta,hlp.iphi); | ~~~~^~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:393:47: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&, size_t&)’ is ambiguous 393 | T * DUCC0_RESTRICT ptr = &cube(icomp,hlp.itheta,hlp.iphi); | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h: In instantiation of ‘void ducc0::detail_sphereinterpol::SphereInterpol::deinterpolx(size_t, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with long unsigned int supp = 13; Tloc = double; T = double; size_t = long unsigned int]’: ./src/ducc0/sht/sphere_interpol.h:282:51: recursively required from ‘void ducc0::detail_sphereinterpol::SphereInterpol::deinterpolx(size_t, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with long unsigned int supp = 15; Tloc = double; T = double; size_t = long unsigned int]’ 282 | if (supp_(supp_, cube, itheta0, iphi0, theta, phi, signal); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:282:51: required from ‘void ducc0::detail_sphereinterpol::SphereInterpol::deinterpolx(size_t, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with long unsigned int supp = 16; Tloc = double; T = double; size_t = long unsigned int]’ ./src/ducc0/sht/sphere_interpol.h:567:27: required from ‘void ducc0::detail_sphereinterpol::SphereInterpol::deinterpol(const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with Tloc = double; T = double; size_t = long unsigned int]’ 567 | deinterpolx(kernel->support(), cube, itheta0, iphi0, theta, phi, signal); | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sht.cc:2988:19: required from ‘void ducc0::detail_sht::adjoint_synthesis_general(const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, ptrdiff_t, const ducc0::detail_mav::cmav&, double, double, double, size_t, SHT_mode, bool) [with T = double; Tloc = double; size_t = long unsigned int; ptrdiff_t = long int]’ 2988 | inter.deinterpol(planes, 0, 0, xtheta, xphi, map); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sht.cc:3001:99: required from here 3001 | double epsilon, double sigma_min, double sigma_max, size_t nthreads, SHT_mode mode, bool verbose); | ^ ./src/ducc0/sht/sphere_interpol.h:357:46: error: call of ‘(const ducc0::detail_mav::vmav) (int, size_t&, size_t&)’ is ambiguous 357 | T * DUCC0_RESTRICT ptr0 = &cube(0,hlp.itheta,hlp.iphi); | ~~~~^~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:358:46: error: call of ‘(const ducc0::detail_mav::vmav) (int, size_t&, size_t&)’ is ambiguous 358 | T * DUCC0_RESTRICT ptr1 = &cube(1,hlp.itheta,hlp.iphi); | ~~~~^~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:393:47: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&, size_t&)’ is ambiguous 393 | T * DUCC0_RESTRICT ptr = &cube(icomp,hlp.itheta,hlp.iphi); | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h: In instantiation of ‘void ducc0::detail_totalconvolve::ConvolverPlan::interpolx(size_t, const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with long unsigned int supp = 6; T = double; size_t = long unsigned int]’: ./src/ducc0/sht/totalconvolve.h:190:49: recursively required from ‘void ducc0::detail_totalconvolve::ConvolverPlan::interpolx(size_t, const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with long unsigned int supp = 7; T = double; size_t = long unsigned int]’ 190 | if (supp_(supp_, cube, itheta0, iphi0, theta, phi, psi, signal); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/totalconvolve.h:190:49: required from ‘void ducc0::detail_totalconvolve::ConvolverPlan::interpolx(size_t, const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with long unsigned int supp = 8; T = double; size_t = long unsigned int]’ ./src/ducc0/sht/totalconvolve.h:188:52: required from ‘void ducc0::detail_totalconvolve::ConvolverPlan::interpolx(size_t, const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with long unsigned int supp = 16; T = double; size_t = long unsigned int]’ 188 | if (supp_<=supp/2) return interpolx(supp_, cube, itheta0, iphi0, theta, phi, psi, signal); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/totalconvolve.h:547:25: required from ‘void ducc0::detail_totalconvolve::ConvolverPlan::interpol(const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with T = double; size_t = long unsigned int]’ 547 | interpolx(kernel->support(), cube, itheta0, iphi0, theta, phi, psi, signal); | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/totalconvolve_pymod.cc:98:15: required from ‘void ducc0::detail_pymodule_totalconvolve::Py_ConvolverPlan::Py_interpol(const pybind11::array&, size_t, size_t, const pybind11::array&, const pybind11::array&, const pybind11::array&, pybind11::array&) [with T = double; size_t = long unsigned int]’ 98 | interpol(cube, itheta0, iphi0, theta, phi, psi, signal); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/totalconvolve_pymod.cc:799:31: required from here 799 | .def("interpol", &conv_d::Py_interpol, Py_ConvolverPlan_interpol_DS, | ^~~~~~~~~~~ ./src/ducc0/sht/totalconvolve.h:249:17: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&)’ is ambiguous 249 | signal(i) = reduce(res, std::plus<>()); | ~~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h: In instantiation of ‘void ducc0::detail_totalconvolve::ConvolverPlan::interpolx(size_t, const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with long unsigned int supp = 13; T = double; size_t = long unsigned int]’: ./src/ducc0/sht/totalconvolve.h:190:49: recursively required from ‘void ducc0::detail_totalconvolve::ConvolverPlan::interpolx(size_t, const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with long unsigned int supp = 15; T = double; size_t = long unsigned int]’ 190 | if (supp_(supp_, cube, itheta0, iphi0, theta, phi, psi, signal); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/totalconvolve.h:190:49: required from ‘void ducc0::detail_totalconvolve::ConvolverPlan::interpolx(size_t, const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with long unsigned int supp = 16; T = double; size_t = long unsigned int]’ ./src/ducc0/sht/totalconvolve.h:547:25: required from ‘void ducc0::detail_totalconvolve::ConvolverPlan::interpol(const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with T = double; size_t = long unsigned int]’ 547 | interpolx(kernel->support(), cube, itheta0, iphi0, theta, phi, psi, signal); | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/totalconvolve_pymod.cc:98:15: required from ‘void ducc0::detail_pymodule_totalconvolve::Py_ConvolverPlan::Py_interpol(const pybind11::array&, size_t, size_t, const pybind11::array&, const pybind11::array&, const pybind11::array&, pybind11::array&) [with T = double; size_t = long unsigned int]’ 98 | interpol(cube, itheta0, iphi0, theta, phi, psi, signal); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/totalconvolve_pymod.cc:799:31: required from here 799 | .def("interpol", &conv_d::Py_interpol, Py_ConvolverPlan_interpol_DS, | ^~~~~~~~~~~ ./src/ducc0/sht/totalconvolve.h:249:17: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&)’ is ambiguous 249 | signal(i) = reduce(res, std::plus<>()); | ~~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h: In instantiation of ‘void ducc0::detail_totalconvolve::ConvolverPlan::deinterpolx(size_t, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with long unsigned int supp = 6; T = double; size_t = long unsigned int]’: ./src/ducc0/sht/totalconvolve.h:260:51: recursively required from ‘void ducc0::detail_totalconvolve::ConvolverPlan::deinterpolx(size_t, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with long unsigned int supp = 7; T = double; size_t = long unsigned int]’ 260 | if (supp_(supp_, cube, itheta0, iphi0, theta, phi, psi, signal); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/totalconvolve.h:260:51: required from ‘void ducc0::detail_totalconvolve::ConvolverPlan::deinterpolx(size_t, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with long unsigned int supp = 8; T = double; size_t = long unsigned int]’ ./src/ducc0/sht/totalconvolve.h:258:54: required from ‘void ducc0::detail_totalconvolve::ConvolverPlan::deinterpolx(size_t, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with long unsigned int supp = 16; T = double; size_t = long unsigned int]’ 258 | if (supp_<=supp/2) return deinterpolx(supp_, cube, itheta0, iphi0, theta, phi, psi, signal); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/totalconvolve.h:555:27: required from ‘void ducc0::detail_totalconvolve::ConvolverPlan::deinterpol(const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with T = double; size_t = long unsigned int]’ 555 | deinterpolx(kernel->support(), cube, itheta0, iphi0, theta, phi, psi, signal); | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/totalconvolve_pymod.cc:112:17: required from ‘void ducc0::detail_pymodule_totalconvolve::Py_ConvolverPlan::Py_deinterpol(pybind11::array&, size_t, size_t, const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::array&) [with T = double; size_t = long unsigned int]’ 112 | deinterpol(cube, itheta0, iphi0, theta, phi, psi, signal); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/totalconvolve_pymod.cc:801:33: required from here 801 | .def("deinterpol", &conv_d::Py_deinterpol, Py_ConvolverPlan_deinterpol_DS, | ^~~~~~~~~~~~~ ./src/ducc0/sht/totalconvolve.h:294:41: error: call of ‘(const ducc0::detail_mav::vmav) (long unsigned int&, size_t&, size_t&)’ is ambiguous 294 | T * DUCC0_RESTRICT ptr = &cube(ipsi,hlp.itheta,hlp.iphi); | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h:352:28: error: call of ‘(const ducc0::detail_mav::vmav) (long unsigned int&, size_t&, size_t&)’ is ambiguous 352 | ptr = &cube(ipsi,hlp.itheta,hlp.iphi); | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h: In instantiation of ‘void ducc0::detail_totalconvolve::ConvolverPlan::deinterpolx(size_t, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with long unsigned int supp = 13; T = double; size_t = long unsigned int]’: ./src/ducc0/sht/totalconvolve.h:260:51: recursively required from ‘void ducc0::detail_totalconvolve::ConvolverPlan::deinterpolx(size_t, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with long unsigned int supp = 15; T = double; size_t = long unsigned int]’ 260 | if (supp_(supp_, cube, itheta0, iphi0, theta, phi, psi, signal); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/totalconvolve.h:260:51: required from ‘void ducc0::detail_totalconvolve::ConvolverPlan::deinterpolx(size_t, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with long unsigned int supp = 16; T = double; size_t = long unsigned int]’ ./src/ducc0/sht/totalconvolve.h:555:27: required from ‘void ducc0::detail_totalconvolve::ConvolverPlan::deinterpol(const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with T = double; size_t = long unsigned int]’ 555 | deinterpolx(kernel->support(), cube, itheta0, iphi0, theta, phi, psi, signal); | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/totalconvolve_pymod.cc:112:17: required from ‘void ducc0::detail_pymodule_totalconvolve::Py_ConvolverPlan::Py_deinterpol(pybind11::array&, size_t, size_t, const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::array&) [with T = double; size_t = long unsigned int]’ 112 | deinterpol(cube, itheta0, iphi0, theta, phi, psi, signal); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/totalconvolve_pymod.cc:801:33: required from here 801 | .def("deinterpol", &conv_d::Py_deinterpol, Py_ConvolverPlan_deinterpol_DS, | ^~~~~~~~~~~~~ ./src/ducc0/sht/totalconvolve.h:294:41: error: call of ‘(const ducc0::detail_mav::vmav) (long unsigned int&, size_t&, size_t&)’ is ambiguous 294 | T * DUCC0_RESTRICT ptr = &cube(ipsi,hlp.itheta,hlp.iphi); | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h:352:28: error: call of ‘(const ducc0::detail_mav::vmav) (long unsigned int&, size_t&, size_t&)’ is ambiguous 352 | ptr = &cube(ipsi,hlp.itheta,hlp.iphi); | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h: In instantiation of ‘void ducc0::detail_totalconvolve::ConvolverPlan::interpolx(size_t, const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with long unsigned int supp = 5; T = float; size_t = long unsigned int]’: ./src/ducc0/sht/totalconvolve.h:190:49: recursively required from ‘void ducc0::detail_totalconvolve::ConvolverPlan::interpolx(size_t, const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with long unsigned int supp = 7; T = float; size_t = long unsigned int]’ 190 | if (supp_(supp_, cube, itheta0, iphi0, theta, phi, psi, signal); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/totalconvolve.h:190:49: required from ‘void ducc0::detail_totalconvolve::ConvolverPlan::interpolx(size_t, const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with long unsigned int supp = 8; T = float; size_t = long unsigned int]’ ./src/ducc0/sht/totalconvolve.h:547:25: required from ‘void ducc0::detail_totalconvolve::ConvolverPlan::interpol(const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with T = float; size_t = long unsigned int]’ 547 | interpolx(kernel->support(), cube, itheta0, iphi0, theta, phi, psi, signal); | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/totalconvolve_pymod.cc:98:15: required from ‘void ducc0::detail_pymodule_totalconvolve::Py_ConvolverPlan::Py_interpol(const pybind11::array&, size_t, size_t, const pybind11::array&, const pybind11::array&, const pybind11::array&, pybind11::array&) [with T = float; size_t = long unsigned int]’ 98 | interpol(cube, itheta0, iphi0, theta, phi, psi, signal); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/totalconvolve_pymod.cc:821:31: required from here 821 | .def("interpol", &conv_f::Py_interpol, Py_ConvolverPlan_f_interpol_DS, | ^~~~~~~~~~~ ./src/ducc0/sht/totalconvolve.h:249:17: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&)’ is ambiguous 249 | signal(i) = reduce(res, std::plus<>()); | ~~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = float; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = float; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h: In instantiation of ‘void ducc0::detail_totalconvolve::ConvolverPlan::deinterpolx(size_t, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with long unsigned int supp = 5; T = float; size_t = long unsigned int]’: ./src/ducc0/sht/totalconvolve.h:260:51: recursively required from ‘void ducc0::detail_totalconvolve::ConvolverPlan::deinterpolx(size_t, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with long unsigned int supp = 7; T = float; size_t = long unsigned int]’ 260 | if (supp_(supp_, cube, itheta0, iphi0, theta, phi, psi, signal); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/totalconvolve.h:260:51: required from ‘void ducc0::detail_totalconvolve::ConvolverPlan::deinterpolx(size_t, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with long unsigned int supp = 8; T = float; size_t = long unsigned int]’ ./src/ducc0/sht/totalconvolve.h:555:27: required from ‘void ducc0::detail_totalconvolve::ConvolverPlan::deinterpol(const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with T = float; size_t = long unsigned int]’ 555 | deinterpolx(kernel->support(), cube, itheta0, iphi0, theta, phi, psi, signal); | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/totalconvolve_pymod.cc:112:17: required from ‘void ducc0::detail_pymodule_totalconvolve::Py_ConvolverPlan::Py_deinterpol(pybind11::array&, size_t, size_t, const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::array&) [with T = float; size_t = long unsigned int]’ 112 | deinterpol(cube, itheta0, iphi0, theta, phi, psi, signal); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/totalconvolve_pymod.cc:823:33: required from here 823 | .def("deinterpol", &conv_f::Py_deinterpol, Py_ConvolverPlan_f_deinterpol_DS, | ^~~~~~~~~~~~~ ./src/ducc0/sht/totalconvolve.h:294:41: error: call of ‘(const ducc0::detail_mav::vmav) (long unsigned int&, size_t&, size_t&)’ is ambiguous 294 | T * DUCC0_RESTRICT ptr = &cube(ipsi,hlp.itheta,hlp.iphi); | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h:352:28: error: call of ‘(const ducc0::detail_mav::vmav) (long unsigned int&, size_t&, size_t&)’ is ambiguous 352 | ptr = &cube(ipsi,hlp.itheta,hlp.iphi); | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::grid2dirty_post2(const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::vmav&, double) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:524:7: required from ‘void ducc0::detail_gridder::Wgridder::grid2dirty_c_overwrite_wscreen_add(const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::vmav&, double, size_t) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 524 | grid2dirty_post2(grid, dirty, w); | ^~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1441:11: required from ‘void ducc0::detail_gridder::Wgridder::x2dirty() [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1441 | grid2dirty_c_overwrite_wscreen_add(grid, dirty_out, w, pl); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:18: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = float; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = float; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:208:32: required from here 208 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 209 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 210 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 211 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:440:20: error: call of ‘(const ducc0::detail_mav::vmav) (long unsigned int&, size_t&)’ is ambiguous 440 | dirty(i,j) += Timg(tmav(ix,jx).real()*phases[j].real() | ~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:440:38: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 440 | dirty(i,j) += Timg(tmav(ix,jx).real()*phases[j].real() | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:441:38: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 441 | - tmav(ix,jx).imag()*phases[j].imag()); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:442:19: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 442 | tmav(ix,jx) = complex(0); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:454:22: error: call of ‘(const ducc0::detail_mav::vmav) (long unsigned int&, size_t&)’ is ambiguous 454 | dirty(i ,j) += Timg(tmav(ix ,jx).real()*re - tmav(ix ,jx).imag()*im); | ~~~~~^~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:454:41: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 454 | dirty(i ,j) += Timg(tmav(ix ,jx).real()*re - tmav(ix ,jx).imag()*im); | ~~~~^~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:454:66: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 454 | dirty(i ,j) += Timg(tmav(ix ,jx).real()*re - tmav(ix ,jx).imag()*im); | ~~~~^~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:455:22: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&)’ is ambiguous 455 | dirty(i2,j) += Timg(tmav(ix2,jx).real()*re - tmav(ix2,jx).imag()*im); | ~~~~~^~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:455:41: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 455 | dirty(i2,j) += Timg(tmav(ix2,jx).real()*re - tmav(ix2,jx).imag()*im); | ~~~~^~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:455:66: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 455 | dirty(i2,j) += Timg(tmav(ix2,jx).real()*re - tmav(ix2,jx).imag()*im); | ~~~~^~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:456:21: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 456 | tmav(ix,jx) = tmav(ix2,jx) = complex(0); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:456:35: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 456 | tmav(ix,jx) = tmav(ix2,jx) = complex(0); | ~~~~^~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:463:22: error: call of ‘(const ducc0::detail_mav::vmav) (long unsigned int&, size_t&)’ is ambiguous 463 | dirty(i,j) += Timg(tmav(ix,jx).real()*re - tmav(ix,jx).imag()*im); // lower left | ~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:463:40: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 463 | dirty(i,j) += Timg(tmav(ix,jx).real()*re - tmav(ix,jx).imag()*im); // lower left | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:463:64: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 463 | dirty(i,j) += Timg(tmav(ix,jx).real()*re - tmav(ix,jx).imag()*im); // lower left | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:464:21: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 464 | tmav(ix,jx) = complex(0); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::hartley2_2D(const ducc0::detail_mav::vmav&, size_t, bool, size_t) [with T = float; size_t = long unsigned int]’: ./src/ducc0/wgridder/wgridder.h:481:18: required from ‘void ducc0::detail_gridder::Wgridder::grid2dirty_overwrite(const ducc0::detail_mav::vmav&, const ducc0::detail_mav::vmav&) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 481 | hartley2_2D(grid, vlim, uv_side_fast, nthreads); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1457:9: required from ‘void ducc0::detail_gridder::Wgridder::x2dirty() [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1457 | grid2dirty_overwrite(rgrid, dirty_out); | ^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:18: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = float; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = float; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:208:32: required from here 208 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 209 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 210 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 211 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:213:19: error: call of ‘(const ducc0::detail_mav::vmav) (long unsigned int&, size_t&)’ is ambiguous 213 | T ll = arr(i ,j ); | ~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:214:19: error: call of ‘(const ducc0::detail_mav::vmav) (size_t, size_t&)’ is ambiguous 214 | T hl = arr(nu-i,j ); | ~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:215:19: error: call of ‘(const ducc0::detail_mav::vmav) (long unsigned int&, size_t)’ is ambiguous 215 | T lh = arr(i ,nv-j); | ~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:216:19: error: call of ‘(const ducc0::detail_mav::vmav) (size_t, size_t)’ is ambiguous 216 | T hh = arr(nu-i,nv-j); | ~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:218:12: error: call of ‘(const ducc0::detail_mav::vmav) (long unsigned int&, size_t&)’ is ambiguous 218 | arr(i ,j ) = v-hh; | ~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:219:12: error: call of ‘(const ducc0::detail_mav::vmav) (size_t, size_t&)’ is ambiguous 219 | arr(nu-i,j ) = v-lh; | ~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:220:12: error: call of ‘(const ducc0::detail_mav::vmav) (long unsigned int&, size_t)’ is ambiguous 220 | arr(i ,nv-j) = v-hl; | ~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:221:12: error: call of ‘(const ducc0::detail_mav::vmav) (size_t, size_t)’ is ambiguous 221 | arr(nu-i,nv-j) = v-ll; | ~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::grid2dirty_post(const ducc0::detail_mav::vmav&, const ducc0::detail_mav::vmav&) const [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:483:7: required from ‘void ducc0::detail_gridder::Wgridder::grid2dirty_overwrite(const ducc0::detail_mav::vmav&, const ducc0::detail_mav::vmav&) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 483 | grid2dirty_post(grid, dirty); | ^~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1457:9: required from ‘void ducc0::detail_gridder::Wgridder::x2dirty() [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1457 | grid2dirty_overwrite(rgrid, dirty_out); | ^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:18: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = float; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = float; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:208:32: required from here 208 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 209 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 210 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 211 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:414:18: error: call of ‘(const ducc0::detail_mav::vmav) (long unsigned int&, size_t&)’ is ambiguous 414 | dirty(i,j) = Timg(tmav(i2,j2)*cfu[icfu]*cfv[icfv]); | ~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:414:35: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&)’ is ambiguous 414 | dirty(i,j) = Timg(tmav(i2,j2)*cfu[icfu]*cfv[icfv]); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::dirty2grid_pre2(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 2>&, double) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:616:7: required from ‘void ducc0::detail_gridder::Wgridder::dirty2grid_c_wscreen(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 2>&, double, size_t) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 616 | dirty2grid_pre2(dirty, grid, w); | ^~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1477:11: required from ‘void ducc0::detail_gridder::Wgridder::dirty2x() [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1477 | dirty2grid_c_wscreen(tdirty, grid, w, pl); | ^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:30: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = float; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = float; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:208:32: required from here 208 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 209 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 210 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 211 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:583:19: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 583 | grid(ix,jx) = Tcalc(dirty(i,j))*phases[j]; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:593:21: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 593 | grid(ix ,jx) = Tcalc(dirty(i ,j))*phases[j2]; // lower left | ~~~~^~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:594:21: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 594 | grid(ix2,jx) = Tcalc(dirty(i2,j))*phases[j2]; // lower right | ~~~~^~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:598:21: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 598 | grid(ix,jx) = Tcalc(dirty(i,j))*phases[min(j, nydirty-j)]; // lower left | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 8; bool wgrid = true; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’: ./src/ducc0/wgridder/wgridder.h:1340:38: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c(const ducc0::detail_mav::cmav, 2>&, size_t, double) [with bool wgrid = true; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1340 | grid2x_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1479:25: required from ‘void ducc0::detail_gridder::Wgridder::dirty2x() [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1479 | grid2x_c(grid, pl, w); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:30: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = float; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = float; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:208:32: required from here 208 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 209 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 210 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 211 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1322:45: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 1322 | if (!firstplane) r += ms_out(row, ch); | ~~~~~~^~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1327:23: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 1327 | ms_out(row, ch) = r; | ~~~~~~^~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::dirty2grid_pre(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:607:7: required from ‘void ducc0::detail_gridder::Wgridder::dirty2grid(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 607 | dirty2grid_pre(dirty, grid); | ^~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1488:9: required from ‘void ducc0::detail_gridder::Wgridder::dirty2x() [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1488 | dirty2grid(dirty_in, rgrid); | ^~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:30: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = float; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = float; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:208:32: required from here 208 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 209 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 210 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 211 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:551:17: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&)’ is ambiguous 551 | grid(i2,j2) = dirty(i,j)*Tcalc(cfu[icfu]*cfv[icfv]); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 8; bool wgrid = false; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’: ./src/ducc0/wgridder/wgridder.h:1340:38: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c(const ducc0::detail_mav::cmav, 2>&, size_t, double) [with bool wgrid = false; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1340 | grid2x_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1494:24: required from ‘void ducc0::detail_gridder::Wgridder::dirty2x() [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1494 | grid2x_c(grid, 0); | ~~~~~~~~~~~~~~~^~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:30: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = float; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = float; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:208:32: required from here 208 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 209 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 210 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 211 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1322:45: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 1322 | if (!firstplane) r += ms_out(row, ch); | ~~~~~~^~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1327:23: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 1327 | ms_out(row, ch) = r; | ~~~~~~^~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::grid2dirty_post2(const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::vmav&, double) [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:524:7: required from ‘void ducc0::detail_gridder::Wgridder::grid2dirty_c_overwrite_wscreen_add(const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::vmav&, double, size_t) [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 524 | grid2dirty_post2(grid, dirty, w); | ^~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1441:11: required from ‘void ducc0::detail_gridder::Wgridder::x2dirty() [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1441 | grid2dirty_c_overwrite_wscreen_add(grid, dirty_out, w, pl); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:18: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = float; Tms = float; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = float; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:192:20: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = float; size_t = long unsigned int]’ 192 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 193 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 194 | sigma_max, center_x, center_y, allow_nshift); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:208:32: required from here 208 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 209 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 210 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 211 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:440:20: error: call of ‘(const ducc0::detail_mav::vmav) (long unsigned int&, size_t&)’ is ambiguous 440 | dirty(i,j) += Timg(tmav(ix,jx).real()*phases[j].real() | ~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:440:38: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 440 | dirty(i,j) += Timg(tmav(ix,jx).real()*phases[j].real() | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:441:38: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 441 | - tmav(ix,jx).imag()*phases[j].imag()); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:442:19: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 442 | tmav(ix,jx) = complex(0); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:454:22: error: call of ‘(const ducc0::detail_mav::vmav) (long unsigned int&, size_t&)’ is ambiguous 454 | dirty(i ,j) += Timg(tmav(ix ,jx).real()*re - tmav(ix ,jx).imag()*im); | ~~~~~^~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:454:41: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 454 | dirty(i ,j) += Timg(tmav(ix ,jx).real()*re - tmav(ix ,jx).imag()*im); | ~~~~^~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:454:66: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 454 | dirty(i ,j) += Timg(tmav(ix ,jx).real()*re - tmav(ix ,jx).imag()*im); | ~~~~^~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:455:22: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&)’ is ambiguous 455 | dirty(i2,j) += Timg(tmav(ix2,jx).real()*re - tmav(ix2,jx).imag()*im); | ~~~~~^~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:455:41: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 455 | dirty(i2,j) += Timg(tmav(ix2,jx).real()*re - tmav(ix2,jx).imag()*im); | ~~~~^~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:455:66: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 455 | dirty(i2,j) += Timg(tmav(ix2,jx).real()*re - tmav(ix2,jx).imag()*im); | ~~~~^~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:456:21: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 456 | tmav(ix,jx) = tmav(ix2,jx) = complex(0); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:456:35: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 456 | tmav(ix,jx) = tmav(ix2,jx) = complex(0); | ~~~~^~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:463:22: error: call of ‘(const ducc0::detail_mav::vmav) (long unsigned int&, size_t&)’ is ambiguous 463 | dirty(i,j) += Timg(tmav(ix,jx).real()*re - tmav(ix,jx).imag()*im); // lower left | ~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:463:40: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 463 | dirty(i,j) += Timg(tmav(ix,jx).real()*re - tmav(ix,jx).imag()*im); // lower left | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:463:64: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 463 | dirty(i,j) += Timg(tmav(ix,jx).real()*re - tmav(ix,jx).imag()*im); // lower left | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:464:21: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 464 | tmav(ix,jx) = complex(0); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::grid2dirty_post(const ducc0::detail_mav::vmav&, const ducc0::detail_mav::vmav&) const [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:483:7: required from ‘void ducc0::detail_gridder::Wgridder::grid2dirty_overwrite(const ducc0::detail_mav::vmav&, const ducc0::detail_mav::vmav&) [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 483 | grid2dirty_post(grid, dirty); | ^~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1457:9: required from ‘void ducc0::detail_gridder::Wgridder::x2dirty() [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1457 | grid2dirty_overwrite(rgrid, dirty_out); | ^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:18: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = float; Tms = float; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = float; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:192:20: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = float; size_t = long unsigned int]’ 192 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 193 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 194 | sigma_max, center_x, center_y, allow_nshift); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:208:32: required from here 208 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 209 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 210 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 211 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:414:18: error: call of ‘(const ducc0::detail_mav::vmav) (long unsigned int&, size_t&)’ is ambiguous 414 | dirty(i,j) = Timg(tmav(i2,j2)*cfu[icfu]*cfv[icfv]); | ~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:414:35: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&)’ is ambiguous 414 | dirty(i,j) = Timg(tmav(i2,j2)*cfu[icfu]*cfv[icfv]); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::dirty2grid_pre2(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 2>&, double) [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:616:7: required from ‘void ducc0::detail_gridder::Wgridder::dirty2grid_c_wscreen(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 2>&, double, size_t) [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 616 | dirty2grid_pre2(dirty, grid, w); | ^~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1477:11: required from ‘void ducc0::detail_gridder::Wgridder::dirty2x() [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1477 | dirty2grid_c_wscreen(tdirty, grid, w, pl); | ^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:30: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = float; Tms = float; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = float; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:192:20: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = float; size_t = long unsigned int]’ 192 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 193 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 194 | sigma_max, center_x, center_y, allow_nshift); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:208:32: required from here 208 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 209 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 210 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 211 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:583:19: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 583 | grid(ix,jx) = Tcalc(dirty(i,j))*phases[j]; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:593:21: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 593 | grid(ix ,jx) = Tcalc(dirty(i ,j))*phases[j2]; // lower left | ~~~~^~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:594:21: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 594 | grid(ix2,jx) = Tcalc(dirty(i2,j))*phases[j2]; // lower right | ~~~~^~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:598:21: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 598 | grid(ix,jx) = Tcalc(dirty(i,j))*phases[min(j, nydirty-j)]; // lower left | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 8; bool wgrid = true; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’: ./src/ducc0/wgridder/wgridder.h:1340:38: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c(const ducc0::detail_mav::cmav, 2>&, size_t, double) [with bool wgrid = true; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1340 | grid2x_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1479:25: required from ‘void ducc0::detail_gridder::Wgridder::dirty2x() [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1479 | grid2x_c(grid, pl, w); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:30: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = float; Tms = float; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = float; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:192:20: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = float; size_t = long unsigned int]’ 192 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 193 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 194 | sigma_max, center_x, center_y, allow_nshift); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:208:32: required from here 208 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 209 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 210 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 211 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1322:45: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 1322 | if (!firstplane) r += ms_out(row, ch); | ~~~~~~^~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1327:23: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 1327 | ms_out(row, ch) = r; | ~~~~~~^~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::dirty2grid_pre(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:607:7: required from ‘void ducc0::detail_gridder::Wgridder::dirty2grid(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 607 | dirty2grid_pre(dirty, grid); | ^~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1488:9: required from ‘void ducc0::detail_gridder::Wgridder::dirty2x() [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1488 | dirty2grid(dirty_in, rgrid); | ^~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:30: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = float; Tms = float; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = float; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:192:20: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = float; size_t = long unsigned int]’ 192 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 193 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 194 | sigma_max, center_x, center_y, allow_nshift); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:208:32: required from here 208 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 209 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 210 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 211 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:551:17: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&)’ is ambiguous 551 | grid(i2,j2) = dirty(i,j)*Tcalc(cfu[icfu]*cfv[icfv]); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 8; bool wgrid = false; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’: ./src/ducc0/wgridder/wgridder.h:1340:38: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c(const ducc0::detail_mav::cmav, 2>&, size_t, double) [with bool wgrid = false; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1340 | grid2x_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1494:24: required from ‘void ducc0::detail_gridder::Wgridder::dirty2x() [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1494 | grid2x_c(grid, 0); | ~~~~~~~~~~~~~~~^~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:30: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = float; Tms = float; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = float; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:192:20: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = float; size_t = long unsigned int]’ 192 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 193 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 194 | sigma_max, center_x, center_y, allow_nshift); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:208:32: required from here 208 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 209 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 210 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 211 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1322:45: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 1322 | if (!firstplane) r += ms_out(row, ch); | ~~~~~~^~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1327:23: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 1327 | ms_out(row, ch) = r; | ~~~~~~^~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::grid2dirty_post2(const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::vmav&, double) [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:524:7: required from ‘void ducc0::detail_gridder::Wgridder::grid2dirty_c_overwrite_wscreen_add(const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::vmav&, double, size_t) [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 524 | grid2dirty_post2(grid, dirty, w); | ^~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1441:11: required from ‘void ducc0::detail_gridder::Wgridder::x2dirty() [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1441 | grid2dirty_c_overwrite_wscreen_add(grid, dirty_out, w, pl); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:18: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = double; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = double; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:213:33: required from here 213 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 214 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 215 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 216 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:440:20: error: call of ‘(const ducc0::detail_mav::vmav) (long unsigned int&, size_t&)’ is ambiguous 440 | dirty(i,j) += Timg(tmav(ix,jx).real()*phases[j].real() | ~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:440:38: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 440 | dirty(i,j) += Timg(tmav(ix,jx).real()*phases[j].real() | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:441:38: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 441 | - tmav(ix,jx).imag()*phases[j].imag()); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:442:19: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 442 | tmav(ix,jx) = complex(0); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:454:22: error: call of ‘(const ducc0::detail_mav::vmav) (long unsigned int&, size_t&)’ is ambiguous 454 | dirty(i ,j) += Timg(tmav(ix ,jx).real()*re - tmav(ix ,jx).imag()*im); | ~~~~~^~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:454:41: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 454 | dirty(i ,j) += Timg(tmav(ix ,jx).real()*re - tmav(ix ,jx).imag()*im); | ~~~~^~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:454:66: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 454 | dirty(i ,j) += Timg(tmav(ix ,jx).real()*re - tmav(ix ,jx).imag()*im); | ~~~~^~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:455:22: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&)’ is ambiguous 455 | dirty(i2,j) += Timg(tmav(ix2,jx).real()*re - tmav(ix2,jx).imag()*im); | ~~~~~^~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:455:41: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 455 | dirty(i2,j) += Timg(tmav(ix2,jx).real()*re - tmav(ix2,jx).imag()*im); | ~~~~^~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:455:66: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 455 | dirty(i2,j) += Timg(tmav(ix2,jx).real()*re - tmav(ix2,jx).imag()*im); | ~~~~^~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:456:21: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 456 | tmav(ix,jx) = tmav(ix2,jx) = complex(0); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:456:35: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 456 | tmav(ix,jx) = tmav(ix2,jx) = complex(0); | ~~~~^~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:463:22: error: call of ‘(const ducc0::detail_mav::vmav) (long unsigned int&, size_t&)’ is ambiguous 463 | dirty(i,j) += Timg(tmav(ix,jx).real()*re - tmav(ix,jx).imag()*im); // lower left | ~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:463:40: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 463 | dirty(i,j) += Timg(tmav(ix,jx).real()*re - tmav(ix,jx).imag()*im); // lower left | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:463:64: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 463 | dirty(i,j) += Timg(tmav(ix,jx).real()*re - tmav(ix,jx).imag()*im); // lower left | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:464:21: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 464 | tmav(ix,jx) = complex(0); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::hartley2_2D(const ducc0::detail_mav::vmav&, size_t, bool, size_t) [with T = double; size_t = long unsigned int]’: ./src/ducc0/wgridder/wgridder.h:481:18: required from ‘void ducc0::detail_gridder::Wgridder::grid2dirty_overwrite(const ducc0::detail_mav::vmav&, const ducc0::detail_mav::vmav&) [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’ 481 | hartley2_2D(grid, vlim, uv_side_fast, nthreads); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1457:9: required from ‘void ducc0::detail_gridder::Wgridder::x2dirty() [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1457 | grid2dirty_overwrite(rgrid, dirty_out); | ^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:18: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = double; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = double; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:213:33: required from here 213 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 214 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 215 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 216 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:213:19: error: call of ‘(const ducc0::detail_mav::vmav) (long unsigned int&, size_t&)’ is ambiguous 213 | T ll = arr(i ,j ); | ~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:214:19: error: call of ‘(const ducc0::detail_mav::vmav) (size_t, size_t&)’ is ambiguous 214 | T hl = arr(nu-i,j ); | ~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:215:19: error: call of ‘(const ducc0::detail_mav::vmav) (long unsigned int&, size_t)’ is ambiguous 215 | T lh = arr(i ,nv-j); | ~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:216:19: error: call of ‘(const ducc0::detail_mav::vmav) (size_t, size_t)’ is ambiguous 216 | T hh = arr(nu-i,nv-j); | ~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:218:12: error: call of ‘(const ducc0::detail_mav::vmav) (long unsigned int&, size_t&)’ is ambiguous 218 | arr(i ,j ) = v-hh; | ~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:219:12: error: call of ‘(const ducc0::detail_mav::vmav) (size_t, size_t&)’ is ambiguous 219 | arr(nu-i,j ) = v-lh; | ~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:220:12: error: call of ‘(const ducc0::detail_mav::vmav) (long unsigned int&, size_t)’ is ambiguous 220 | arr(i ,nv-j) = v-hl; | ~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:221:12: error: call of ‘(const ducc0::detail_mav::vmav) (size_t, size_t)’ is ambiguous 221 | arr(nu-i,nv-j) = v-ll; | ~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::grid2dirty_post(const ducc0::detail_mav::vmav&, const ducc0::detail_mav::vmav&) const [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:483:7: required from ‘void ducc0::detail_gridder::Wgridder::grid2dirty_overwrite(const ducc0::detail_mav::vmav&, const ducc0::detail_mav::vmav&) [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’ 483 | grid2dirty_post(grid, dirty); | ^~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1457:9: required from ‘void ducc0::detail_gridder::Wgridder::x2dirty() [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1457 | grid2dirty_overwrite(rgrid, dirty_out); | ^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:18: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = double; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = double; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:213:33: required from here 213 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 214 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 215 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 216 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:414:18: error: call of ‘(const ducc0::detail_mav::vmav) (long unsigned int&, size_t&)’ is ambiguous 414 | dirty(i,j) = Timg(tmav(i2,j2)*cfu[icfu]*cfv[icfv]); | ~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:414:35: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&)’ is ambiguous 414 | dirty(i,j) = Timg(tmav(i2,j2)*cfu[icfu]*cfv[icfv]); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::dirty2grid_pre2(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 2>&, double) [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:616:7: required from ‘void ducc0::detail_gridder::Wgridder::dirty2grid_c_wscreen(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 2>&, double, size_t) [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 616 | dirty2grid_pre2(dirty, grid, w); | ^~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1477:11: required from ‘void ducc0::detail_gridder::Wgridder::dirty2x() [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1477 | dirty2grid_c_wscreen(tdirty, grid, w, pl); | ^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:30: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = double; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = double; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:213:33: required from here 213 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 214 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 215 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 216 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:583:19: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 583 | grid(ix,jx) = Tcalc(dirty(i,j))*phases[j]; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:593:21: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 593 | grid(ix ,jx) = Tcalc(dirty(i ,j))*phases[j2]; // lower left | ~~~~^~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:594:21: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 594 | grid(ix2,jx) = Tcalc(dirty(i2,j))*phases[j2]; // lower right | ~~~~^~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:598:21: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 598 | grid(ix,jx) = Tcalc(dirty(i,j))*phases[min(j, nydirty-j)]; // lower left | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 16; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’: ./src/ducc0/wgridder/wgridder.h:1340:38: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c(const ducc0::detail_mav::cmav, 2>&, size_t, double) [with bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1340 | grid2x_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1479:25: required from ‘void ducc0::detail_gridder::Wgridder::dirty2x() [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1479 | grid2x_c(grid, pl, w); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:30: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = double; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = double; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:213:33: required from here 213 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 214 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 215 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 216 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1322:45: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 1322 | if (!firstplane) r += ms_out(row, ch); | ~~~~~~^~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1327:23: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 1327 | ms_out(row, ch) = r; | ~~~~~~^~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::dirty2grid_pre(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:607:7: required from ‘void ducc0::detail_gridder::Wgridder::dirty2grid(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’ 607 | dirty2grid_pre(dirty, grid); | ^~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1488:9: required from ‘void ducc0::detail_gridder::Wgridder::dirty2x() [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1488 | dirty2grid(dirty_in, rgrid); | ^~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:30: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = double; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = double; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:213:33: required from here 213 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 214 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 215 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 216 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:551:17: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&)’ is ambiguous 551 | grid(i2,j2) = dirty(i,j)*Tcalc(cfu[icfu]*cfv[icfv]); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 16; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’: ./src/ducc0/wgridder/wgridder.h:1340:38: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c(const ducc0::detail_mav::cmav, 2>&, size_t, double) [with bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1340 | grid2x_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1494:24: required from ‘void ducc0::detail_gridder::Wgridder::dirty2x() [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1494 | grid2x_c(grid, 0); | ~~~~~~~~~~~~~~~^~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:30: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = double; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = double; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:213:33: required from here 213 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 214 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 215 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 216 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1322:45: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 1322 | if (!firstplane) r += ms_out(row, ch); | ~~~~~~^~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1327:23: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 1327 | ms_out(row, ch) = r; | ~~~~~~^~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp_ancestor::sort_coords(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) [with Tcoord = double; Tcalc = double; Tacc = double; Tidx = unsigned int; long unsigned int ndim = 1]’: ./src/ducc0/nufft/spreadinterp.h:318:3: required from ‘ducc0::detail_nufft::Spreadinterp::Spreadinterp(const ducc0::detail_mav::cmav&, const std::array&, size_t, size_t, const std::vector&, const std::vector&) [with Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 250 | sort_coords(coords, coords_sorted); \ | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/bits/unique_ptr.h:1077:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = ducc0::detail_nufft::Spreadinterp; _Args = {const ducc0::detail_mav::cmav&, array, long unsigned int&, long unsigned int&, const vector >&, const vector >&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t >]’ 1077 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1415:11: required from ‘ducc0::detail_nufft::Spreadinterp2::Spreadinterp2(const ducc0::detail_mav::cmav&, const std::vector&, size_t, size_t, const std::vector&, const std::vector&) [with Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 1414 | si1 = make_unique> | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1415 | (coords, array{over_shape[0]}, kidx, nthreads, periodicity, corigin); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:354:9: required from ‘ducc0::detail_nufft::Nufft::Nufft(bool, const ducc0::detail_mav::cmav&, const std::vector&, double, size_t, double, double, const std::vector&, bool, const std::vector&) [with Tcalc = double; Tacc = double; Tcoord = double; size_t = long unsigned int]’ 354 | spreadinterp(coords, nover, krn_id, nthreads, periodicity, corigin) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:80:33: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = double; Tcoord = double; size_t = long unsigned int]’ 80 | Nufft nufft (false, coord, shp, | ^~~~~ ./python/nufft_pymod.cc:99:38: required from here 99 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 100 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:176:26: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&)’ is ambiguous 176 | coords_sorted(i,d) = coords(coord_idx[i],d); | ~~~~~~~~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp_ancestor::sort_coords(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) [with Tcoord = double; Tcalc = double; Tacc = double; Tidx = unsigned int; long unsigned int ndim = 2]’: ./src/ducc0/nufft/spreadinterp.h:653:3: required from ‘ducc0::detail_nufft::Spreadinterp::Spreadinterp(const ducc0::detail_mav::cmav&, const std::array&, size_t, size_t, const std::vector&, const std::vector&) [with Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 250 | sort_coords(coords, coords_sorted); \ | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/bits/unique_ptr.h:1077:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = ducc0::detail_nufft::Spreadinterp; _Args = {const ducc0::detail_mav::cmav&, array, long unsigned int&, long unsigned int&, const vector >&, const vector >&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t >]’ 1077 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1418:11: required from ‘ducc0::detail_nufft::Spreadinterp2::Spreadinterp2(const ducc0::detail_mav::cmav&, const std::vector&, size_t, size_t, const std::vector&, const std::vector&) [with Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 1417 | si2 = make_unique> | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1418 | (coords, array{over_shape[0],over_shape[1]}, kidx, nthreads, periodicity, corigin); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:354:9: required from ‘ducc0::detail_nufft::Nufft::Nufft(bool, const ducc0::detail_mav::cmav&, const std::vector&, double, size_t, double, double, const std::vector&, bool, const std::vector&) [with Tcalc = double; Tacc = double; Tcoord = double; size_t = long unsigned int]’ 354 | spreadinterp(coords, nover, krn_id, nthreads, periodicity, corigin) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:80:33: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = double; Tcoord = double; size_t = long unsigned int]’ 80 | Nufft nufft (false, coord, shp, | ^~~~~ ./python/nufft_pymod.cc:99:38: required from here 99 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 100 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:176:26: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&)’ is ambiguous 176 | coords_sorted(i,d) = coords(coord_idx[i],d); | ~~~~~~~~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp_ancestor::sort_coords(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) [with Tcoord = double; Tcalc = double; Tacc = double; Tidx = unsigned int; long unsigned int ndim = 3]’: ./src/ducc0/nufft/spreadinterp.h:979:3: required from ‘ducc0::detail_nufft::Spreadinterp::Spreadinterp(const ducc0::detail_mav::cmav&, const std::array&, size_t, size_t, const std::vector&, const std::vector&) [with Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 250 | sort_coords(coords, coords_sorted); \ | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/bits/unique_ptr.h:1077:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = ducc0::detail_nufft::Spreadinterp; _Args = {const ducc0::detail_mav::cmav&, array, long unsigned int&, long unsigned int&, const vector >&, const vector >&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t >]’ 1077 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1421:11: required from ‘ducc0::detail_nufft::Spreadinterp2::Spreadinterp2(const ducc0::detail_mav::cmav&, const std::vector&, size_t, size_t, const std::vector&, const std::vector&) [with Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 1420 | si3 = make_unique> | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1421 | (coords, array{over_shape[0],over_shape[1],over_shape[2]}, kidx, nthreads, periodicity, corigin); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:354:9: required from ‘ducc0::detail_nufft::Nufft::Nufft(bool, const ducc0::detail_mav::cmav&, const std::vector&, double, size_t, double, double, const std::vector&, bool, const std::vector&) [with Tcalc = double; Tacc = double; Tcoord = double; size_t = long unsigned int]’ 354 | spreadinterp(coords, nover, krn_id, nthreads, periodicity, corigin) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:80:33: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = double; Tcoord = double; size_t = long unsigned int]’ 80 | Nufft nufft (false, coord, shp, | ^~~~~ ./python/nufft_pymod.cc:99:38: required from here 99 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 100 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:176:26: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&)’ is ambiguous 176 | coords_sorted(i,d) = coords(coord_idx[i],d); | ~~~~~~~~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp_ancestor::sort_coords(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) [with Tcoord = double; Tcalc = float; Tacc = float; Tidx = unsigned int; long unsigned int ndim = 1]’: ./src/ducc0/nufft/spreadinterp.h:318:3: required from ‘ducc0::detail_nufft::Spreadinterp::Spreadinterp(const ducc0::detail_mav::cmav&, const std::array&, size_t, size_t, const std::vector&, const std::vector&) [with Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 250 | sort_coords(coords, coords_sorted); \ | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/bits/unique_ptr.h:1077:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = ducc0::detail_nufft::Spreadinterp; _Args = {const ducc0::detail_mav::cmav&, array, long unsigned int&, long unsigned int&, const vector >&, const vector >&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t >]’ 1077 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1415:11: required from ‘ducc0::detail_nufft::Spreadinterp2::Spreadinterp2(const ducc0::detail_mav::cmav&, const std::vector&, size_t, size_t, const std::vector&, const std::vector&) [with Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 1414 | si1 = make_unique> | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1415 | (coords, array{over_shape[0]}, kidx, nthreads, periodicity, corigin); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:354:9: required from ‘ducc0::detail_nufft::Nufft::Nufft(bool, const ducc0::detail_mav::cmav&, const std::vector&, double, size_t, double, double, const std::vector&, bool, const std::vector&) [with Tcalc = float; Tacc = float; Tcoord = double; size_t = long unsigned int]’ 354 | spreadinterp(coords, nover, krn_id, nthreads, periodicity, corigin) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:80:33: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = float; Tcoord = double; size_t = long unsigned int]’ 80 | Nufft nufft (false, coord, shp, | ^~~~~ ./python/nufft_pymod.cc:102:37: required from here 102 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 103 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:176:26: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&)’ is ambiguous 176 | coords_sorted(i,d) = coords(coord_idx[i],d); | ~~~~~~~~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp_ancestor::sort_coords(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) [with Tcoord = double; Tcalc = float; Tacc = float; Tidx = unsigned int; long unsigned int ndim = 2]’: ./src/ducc0/nufft/spreadinterp.h:653:3: required from ‘ducc0::detail_nufft::Spreadinterp::Spreadinterp(const ducc0::detail_mav::cmav&, const std::array&, size_t, size_t, const std::vector&, const std::vector&) [with Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 250 | sort_coords(coords, coords_sorted); \ | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/bits/unique_ptr.h:1077:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = ducc0::detail_nufft::Spreadinterp; _Args = {const ducc0::detail_mav::cmav&, array, long unsigned int&, long unsigned int&, const vector >&, const vector >&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t >]’ 1077 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1418:11: required from ‘ducc0::detail_nufft::Spreadinterp2::Spreadinterp2(const ducc0::detail_mav::cmav&, const std::vector&, size_t, size_t, const std::vector&, const std::vector&) [with Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 1417 | si2 = make_unique> | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1418 | (coords, array{over_shape[0],over_shape[1]}, kidx, nthreads, periodicity, corigin); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:354:9: required from ‘ducc0::detail_nufft::Nufft::Nufft(bool, const ducc0::detail_mav::cmav&, const std::vector&, double, size_t, double, double, const std::vector&, bool, const std::vector&) [with Tcalc = float; Tacc = float; Tcoord = double; size_t = long unsigned int]’ 354 | spreadinterp(coords, nover, krn_id, nthreads, periodicity, corigin) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:80:33: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = float; Tcoord = double; size_t = long unsigned int]’ 80 | Nufft nufft (false, coord, shp, | ^~~~~ ./python/nufft_pymod.cc:102:37: required from here 102 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 103 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:176:26: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&)’ is ambiguous 176 | coords_sorted(i,d) = coords(coord_idx[i],d); | ~~~~~~~~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp_ancestor::sort_coords(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) [with Tcoord = double; Tcalc = float; Tacc = float; Tidx = unsigned int; long unsigned int ndim = 3]’: ./src/ducc0/nufft/spreadinterp.h:979:3: required from ‘ducc0::detail_nufft::Spreadinterp::Spreadinterp(const ducc0::detail_mav::cmav&, const std::array&, size_t, size_t, const std::vector&, const std::vector&) [with Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 250 | sort_coords(coords, coords_sorted); \ | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/bits/unique_ptr.h:1077:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = ducc0::detail_nufft::Spreadinterp; _Args = {const ducc0::detail_mav::cmav&, array, long unsigned int&, long unsigned int&, const vector >&, const vector >&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t >]’ 1077 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1421:11: required from ‘ducc0::detail_nufft::Spreadinterp2::Spreadinterp2(const ducc0::detail_mav::cmav&, const std::vector&, size_t, size_t, const std::vector&, const std::vector&) [with Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 1420 | si3 = make_unique> | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1421 | (coords, array{over_shape[0],over_shape[1],over_shape[2]}, kidx, nthreads, periodicity, corigin); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:354:9: required from ‘ducc0::detail_nufft::Nufft::Nufft(bool, const ducc0::detail_mav::cmav&, const std::vector&, double, size_t, double, double, const std::vector&, bool, const std::vector&) [with Tcalc = float; Tacc = float; Tcoord = double; size_t = long unsigned int]’ 354 | spreadinterp(coords, nover, krn_id, nthreads, periodicity, corigin) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:80:33: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = float; Tcoord = double; size_t = long unsigned int]’ 80 | Nufft nufft (false, coord, shp, | ^~~~~ ./python/nufft_pymod.cc:102:37: required from here 102 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 103 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:176:26: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&)’ is ambiguous 176 | coords_sorted(i,d) = coords(coord_idx[i],d); | ~~~~~~~~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:318:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1433:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 1433 | if (si1) si1->interp(cmav,1>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = float; Tcoord = double; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:102:37: required from here 102 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 103 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:602:21: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 602 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:627:19: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 627 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:653:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1434:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 1434 | if (si2) si2->interp(cmav,2>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = float; Tcoord = double; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:102:37: required from here 102 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 103 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:951:17: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 951 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:979:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1435:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 1435 | if (si3) si3->interp(cmav,3>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = float; Tcoord = double; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:102:37: required from here 102 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 103 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1344:17: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 1344 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp_ancestor::sort_coords(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) [with Tcoord = float; Tcalc = double; Tacc = double; Tidx = unsigned int; long unsigned int ndim = 1]’: ./src/ducc0/nufft/spreadinterp.h:318:3: required from ‘ducc0::detail_nufft::Spreadinterp::Spreadinterp(const ducc0::detail_mav::cmav&, const std::array&, size_t, size_t, const std::vector&, const std::vector&) [with Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 250 | sort_coords(coords, coords_sorted); \ | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/bits/unique_ptr.h:1077:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = ducc0::detail_nufft::Spreadinterp; _Args = {const ducc0::detail_mav::cmav&, array, long unsigned int&, long unsigned int&, const vector >&, const vector >&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t >]’ 1077 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1415:11: required from ‘ducc0::detail_nufft::Spreadinterp2::Spreadinterp2(const ducc0::detail_mav::cmav&, const std::vector&, size_t, size_t, const std::vector&, const std::vector&) [with Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 1414 | si1 = make_unique> | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1415 | (coords, array{over_shape[0]}, kidx, nthreads, periodicity, corigin); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:354:9: required from ‘ducc0::detail_nufft::Nufft::Nufft(bool, const ducc0::detail_mav::cmav&, const std::vector&, double, size_t, double, double, const std::vector&, bool, const std::vector&) [with Tcalc = double; Tacc = double; Tcoord = float; size_t = long unsigned int]’ 354 | spreadinterp(coords, nover, krn_id, nthreads, periodicity, corigin) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:80:33: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = double; Tcoord = float; size_t = long unsigned int]’ 80 | Nufft nufft (false, coord, shp, | ^~~~~ ./python/nufft_pymod.cc:108:37: required from here 108 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 109 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:176:26: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&)’ is ambiguous 176 | coords_sorted(i,d) = coords(coord_idx[i],d); | ~~~~~~~~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp_ancestor::sort_coords(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) [with Tcoord = float; Tcalc = double; Tacc = double; Tidx = unsigned int; long unsigned int ndim = 2]’: ./src/ducc0/nufft/spreadinterp.h:653:3: required from ‘ducc0::detail_nufft::Spreadinterp::Spreadinterp(const ducc0::detail_mav::cmav&, const std::array&, size_t, size_t, const std::vector&, const std::vector&) [with Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 250 | sort_coords(coords, coords_sorted); \ | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/bits/unique_ptr.h:1077:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = ducc0::detail_nufft::Spreadinterp; _Args = {const ducc0::detail_mav::cmav&, array, long unsigned int&, long unsigned int&, const vector >&, const vector >&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t >]’ 1077 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1418:11: required from ‘ducc0::detail_nufft::Spreadinterp2::Spreadinterp2(const ducc0::detail_mav::cmav&, const std::vector&, size_t, size_t, const std::vector&, const std::vector&) [with Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 1417 | si2 = make_unique> | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1418 | (coords, array{over_shape[0],over_shape[1]}, kidx, nthreads, periodicity, corigin); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:354:9: required from ‘ducc0::detail_nufft::Nufft::Nufft(bool, const ducc0::detail_mav::cmav&, const std::vector&, double, size_t, double, double, const std::vector&, bool, const std::vector&) [with Tcalc = double; Tacc = double; Tcoord = float; size_t = long unsigned int]’ 354 | spreadinterp(coords, nover, krn_id, nthreads, periodicity, corigin) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:80:33: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = double; Tcoord = float; size_t = long unsigned int]’ 80 | Nufft nufft (false, coord, shp, | ^~~~~ ./python/nufft_pymod.cc:108:37: required from here 108 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 109 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:176:26: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&)’ is ambiguous 176 | coords_sorted(i,d) = coords(coord_idx[i],d); | ~~~~~~~~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp_ancestor::sort_coords(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) [with Tcoord = float; Tcalc = double; Tacc = double; Tidx = unsigned int; long unsigned int ndim = 3]’: ./src/ducc0/nufft/spreadinterp.h:979:3: required from ‘ducc0::detail_nufft::Spreadinterp::Spreadinterp(const ducc0::detail_mav::cmav&, const std::array&, size_t, size_t, const std::vector&, const std::vector&) [with Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 250 | sort_coords(coords, coords_sorted); \ | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/bits/unique_ptr.h:1077:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = ducc0::detail_nufft::Spreadinterp; _Args = {const ducc0::detail_mav::cmav&, array, long unsigned int&, long unsigned int&, const vector >&, const vector >&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t >]’ 1077 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1421:11: required from ‘ducc0::detail_nufft::Spreadinterp2::Spreadinterp2(const ducc0::detail_mav::cmav&, const std::vector&, size_t, size_t, const std::vector&, const std::vector&) [with Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 1420 | si3 = make_unique> | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1421 | (coords, array{over_shape[0],over_shape[1],over_shape[2]}, kidx, nthreads, periodicity, corigin); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:354:9: required from ‘ducc0::detail_nufft::Nufft::Nufft(bool, const ducc0::detail_mav::cmav&, const std::vector&, double, size_t, double, double, const std::vector&, bool, const std::vector&) [with Tcalc = double; Tacc = double; Tcoord = float; size_t = long unsigned int]’ 354 | spreadinterp(coords, nover, krn_id, nthreads, periodicity, corigin) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:80:33: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = double; Tcoord = float; size_t = long unsigned int]’ 80 | Nufft nufft (false, coord, shp, | ^~~~~ ./python/nufft_pymod.cc:108:37: required from here 108 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 109 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:176:26: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&)’ is ambiguous 176 | coords_sorted(i,d) = coords(coord_idx[i],d); | ~~~~~~~~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:318:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1433:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 1433 | if (si1) si1->interp(cmav,1>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = double; Tcoord = float; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:108:37: required from here 108 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 109 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:602:21: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 602 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:627:19: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 627 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:653:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1434:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 1434 | if (si2) si2->interp(cmav,2>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = double; Tcoord = float; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:108:37: required from here 108 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 109 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:951:17: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 951 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:979:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1435:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 1435 | if (si3) si3->interp(cmav,3>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = double; Tcoord = float; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:108:37: required from here 108 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 109 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1344:17: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 1344 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp_ancestor::sort_coords(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) [with Tcoord = float; Tcalc = float; Tacc = float; Tidx = unsigned int; long unsigned int ndim = 1]’: ./src/ducc0/nufft/spreadinterp.h:318:3: required from ‘ducc0::detail_nufft::Spreadinterp::Spreadinterp(const ducc0::detail_mav::cmav&, const std::array&, size_t, size_t, const std::vector&, const std::vector&) [with Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 250 | sort_coords(coords, coords_sorted); \ | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/bits/unique_ptr.h:1077:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = ducc0::detail_nufft::Spreadinterp; _Args = {const ducc0::detail_mav::cmav&, array, long unsigned int&, long unsigned int&, const vector >&, const vector >&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t >]’ 1077 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1415:11: required from ‘ducc0::detail_nufft::Spreadinterp2::Spreadinterp2(const ducc0::detail_mav::cmav&, const std::vector&, size_t, size_t, const std::vector&, const std::vector&) [with Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 1414 | si1 = make_unique> | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1415 | (coords, array{over_shape[0]}, kidx, nthreads, periodicity, corigin); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:354:9: required from ‘ducc0::detail_nufft::Nufft::Nufft(bool, const ducc0::detail_mav::cmav&, const std::vector&, double, size_t, double, double, const std::vector&, bool, const std::vector&) [with Tcalc = float; Tacc = float; Tcoord = float; size_t = long unsigned int]’ 354 | spreadinterp(coords, nover, krn_id, nthreads, periodicity, corigin) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:80:33: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = float; Tcoord = float; size_t = long unsigned int]’ 80 | Nufft nufft (false, coord, shp, | ^~~~~ ./python/nufft_pymod.cc:111:36: required from here 111 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 112 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:176:26: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&)’ is ambiguous 176 | coords_sorted(i,d) = coords(coord_idx[i],d); | ~~~~~~~~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp_ancestor::sort_coords(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) [with Tcoord = float; Tcalc = float; Tacc = float; Tidx = unsigned int; long unsigned int ndim = 2]’: ./src/ducc0/nufft/spreadinterp.h:653:3: required from ‘ducc0::detail_nufft::Spreadinterp::Spreadinterp(const ducc0::detail_mav::cmav&, const std::array&, size_t, size_t, const std::vector&, const std::vector&) [with Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 250 | sort_coords(coords, coords_sorted); \ | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/bits/unique_ptr.h:1077:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = ducc0::detail_nufft::Spreadinterp; _Args = {const ducc0::detail_mav::cmav&, array, long unsigned int&, long unsigned int&, const vector >&, const vector >&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t >]’ 1077 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1418:11: required from ‘ducc0::detail_nufft::Spreadinterp2::Spreadinterp2(const ducc0::detail_mav::cmav&, const std::vector&, size_t, size_t, const std::vector&, const std::vector&) [with Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 1417 | si2 = make_unique> | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1418 | (coords, array{over_shape[0],over_shape[1]}, kidx, nthreads, periodicity, corigin); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:354:9: required from ‘ducc0::detail_nufft::Nufft::Nufft(bool, const ducc0::detail_mav::cmav&, const std::vector&, double, size_t, double, double, const std::vector&, bool, const std::vector&) [with Tcalc = float; Tacc = float; Tcoord = float; size_t = long unsigned int]’ 354 | spreadinterp(coords, nover, krn_id, nthreads, periodicity, corigin) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:80:33: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = float; Tcoord = float; size_t = long unsigned int]’ 80 | Nufft nufft (false, coord, shp, | ^~~~~ ./python/nufft_pymod.cc:111:36: required from here 111 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 112 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:176:26: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&)’ is ambiguous 176 | coords_sorted(i,d) = coords(coord_idx[i],d); | ~~~~~~~~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp_ancestor::sort_coords(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) [with Tcoord = float; Tcalc = float; Tacc = float; Tidx = unsigned int; long unsigned int ndim = 3]’: ./src/ducc0/nufft/spreadinterp.h:979:3: required from ‘ducc0::detail_nufft::Spreadinterp::Spreadinterp(const ducc0::detail_mav::cmav&, const std::array&, size_t, size_t, const std::vector&, const std::vector&) [with Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 250 | sort_coords(coords, coords_sorted); \ | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/bits/unique_ptr.h:1077:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = ducc0::detail_nufft::Spreadinterp; _Args = {const ducc0::detail_mav::cmav&, array, long unsigned int&, long unsigned int&, const vector >&, const vector >&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t >]’ 1077 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1421:11: required from ‘ducc0::detail_nufft::Spreadinterp2::Spreadinterp2(const ducc0::detail_mav::cmav&, const std::vector&, size_t, size_t, const std::vector&, const std::vector&) [with Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 1420 | si3 = make_unique> | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1421 | (coords, array{over_shape[0],over_shape[1],over_shape[2]}, kidx, nthreads, periodicity, corigin); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:354:9: required from ‘ducc0::detail_nufft::Nufft::Nufft(bool, const ducc0::detail_mav::cmav&, const std::vector&, double, size_t, double, double, const std::vector&, bool, const std::vector&) [with Tcalc = float; Tacc = float; Tcoord = float; size_t = long unsigned int]’ 354 | spreadinterp(coords, nover, krn_id, nthreads, periodicity, corigin) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:80:33: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = float; Tcoord = float; size_t = long unsigned int]’ 80 | Nufft nufft (false, coord, shp, | ^~~~~ ./python/nufft_pymod.cc:111:36: required from here 111 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 112 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:176:26: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&)’ is ambiguous 176 | coords_sorted(i,d) = coords(coord_idx[i],d); | ~~~~~~~~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 8; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:543:62: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 543 | if (supp<=SUPP/2) return interpolation_helper(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:318:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1449:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 1449 | if (si1) si1->interp(cmav,1>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = double]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:500:35: required from here 500 | if (pd) return do_get_points(pd, coord, values, gridd); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:602:21: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 602 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:627:19: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 627 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:545:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 545 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:318:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1449:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 1449 | if (si1) si1->interp(cmav,1>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = double]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:500:35: required from here 500 | if (pd) return do_get_points(pd, coord, values, gridd); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:602:21: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 602 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:627:19: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 627 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 8; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:893:62: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 893 | if (supp<=SUPP/2) return interpolation_helper(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:653:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1450:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 1450 | if (si2) si2->interp(cmav,2>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = double]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:500:35: required from here 500 | if (pd) return do_get_points(pd, coord, values, gridd); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:951:17: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 951 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:895:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 895 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:653:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1450:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 1450 | if (si2) si2->interp(cmav,2>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = double]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:500:35: required from here 500 | if (pd) return do_get_points(pd, coord, values, gridd); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:951:17: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 951 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 8; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:1272:62: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 1272 | if (supp<=SUPP/2) return interpolation_helper(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:979:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1451:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 1451 | if (si3) si3->interp(cmav,3>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = double]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:500:35: required from here 500 | if (pd) return do_get_points(pd, coord, values, gridd); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1344:17: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 1344 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:1274:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 1274 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:979:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1451:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 1451 | if (si3) si3->interp(cmav,3>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = double]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:500:35: required from here 500 | if (pd) return do_get_points(pd, coord, values, gridd); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1344:17: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 1344 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 8; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:543:62: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 543 | if (supp<=SUPP/2) return interpolation_helper(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:318:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1449:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 1449 | if (si1) si1->interp(cmav,1>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = float]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:501:35: required from here 501 | if (pf) return do_get_points(pf, coord, values, gridf); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:602:21: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 602 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:627:19: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 627 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:545:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 545 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:318:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1449:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 1449 | if (si1) si1->interp(cmav,1>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = float]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:501:35: required from here 501 | if (pf) return do_get_points(pf, coord, values, gridf); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:602:21: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 602 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:627:19: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 627 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 8; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:893:62: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 893 | if (supp<=SUPP/2) return interpolation_helper(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:653:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1450:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 1450 | if (si2) si2->interp(cmav,2>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = float]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:501:35: required from here 501 | if (pf) return do_get_points(pf, coord, values, gridf); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:951:17: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 951 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:895:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 895 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:653:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1450:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 1450 | if (si2) si2->interp(cmav,2>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = float]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:501:35: required from here 501 | if (pf) return do_get_points(pf, coord, values, gridf); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:951:17: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 951 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 8; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:1272:62: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 1272 | if (supp<=SUPP/2) return interpolation_helper(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:979:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1451:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 1451 | if (si3) si3->interp(cmav,3>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = float]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:501:35: required from here 501 | if (pf) return do_get_points(pf, coord, values, gridf); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1344:17: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 1344 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:1274:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 1274 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:979:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1451:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 1451 | if (si3) si3->interp(cmav,3>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = float]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:501:35: required from here 501 | if (pf) return do_get_points(pf, coord, values, gridf); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1344:17: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 1344 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h: In instantiation of ‘void ducc0::detail_sphereinterpol::SphereInterpol::interpolx(size_t, const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with long unsigned int supp = 5; Tloc = double; T = double; size_t = long unsigned int]’: ./src/ducc0/sht/sphere_interpol.h:180:49: recursively required from ‘void ducc0::detail_sphereinterpol::SphereInterpol::interpolx(size_t, const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with long unsigned int supp = 7; Tloc = double; T = double; size_t = long unsigned int]’ 180 | if (supp_(supp_, cube, itheta0, iphi0, theta, phi, signal); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:180:49: required from ‘void ducc0::detail_sphereinterpol::SphereInterpol::interpolx(size_t, const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with long unsigned int supp = 8; Tloc = double; T = double; size_t = long unsigned int]’ ./src/ducc0/sht/sphere_interpol.h:178:52: required from ‘void ducc0::detail_sphereinterpol::SphereInterpol::interpolx(size_t, const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with long unsigned int supp = 16; Tloc = double; T = double; size_t = long unsigned int]’ 178 | if (supp_<=supp/2) return interpolx(supp_, cube, itheta0, iphi0, theta, phi, signal); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:559:25: required from ‘void ducc0::detail_sphereinterpol::SphereInterpol::interpol(const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with Tloc = double; T = double; size_t = long unsigned int]’ 559 | interpolx(kernel->support(), cube, itheta0, iphi0, theta, phi, signal); | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sht.cc:2951:17: required from ‘void ducc0::detail_sht::synthesis_general(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, ptrdiff_t, const ducc0::detail_mav::cmav&, double, double, double, size_t, SHT_mode, bool) [with T = double; Tloc = double; size_t = long unsigned int; ptrdiff_t = long int]’ 2951 | inter.interpol(planes, 0, 0, xtheta, xphi, map); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sht.cc:2963:99: required from here 2963 | double epsilon, double sigma_min, double sigma_max, size_t nthreads, SHT_mode mode, bool verbose); | ^ ./src/ducc0/sht/sphere_interpol.h:242:21: error: call of ‘(const ducc0::detail_mav::vmav) (int, size_t&)’ is ambiguous 242 | signal(0, i) = reduce(tres0, std::plus<>()); | ~~~~~~^~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:243:21: error: call of ‘(const ducc0::detail_mav::vmav) (int, size_t&)’ is ambiguous 243 | signal(1, i) = reduce(tres1, std::plus<>()); | ~~~~~~^~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:269:23: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&)’ is ambiguous 269 | signal(icomp, i) = reduce(tres, std::plus<>()); | ~~~~~~^~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h: In instantiation of ‘void ducc0::detail_sphereinterpol::SphereInterpol::interpolx(size_t, const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with long unsigned int supp = 12; Tloc = double; T = double; size_t = long unsigned int]’: ./src/ducc0/sht/sphere_interpol.h:180:49: recursively required from ‘void ducc0::detail_sphereinterpol::SphereInterpol::interpolx(size_t, const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with long unsigned int supp = 15; Tloc = double; T = double; size_t = long unsigned int]’ 180 | if (supp_(supp_, cube, itheta0, iphi0, theta, phi, signal); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:180:49: required from ‘void ducc0::detail_sphereinterpol::SphereInterpol::interpolx(size_t, const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with long unsigned int supp = 16; Tloc = double; T = double; size_t = long unsigned int]’ ./src/ducc0/sht/sphere_interpol.h:559:25: required from ‘void ducc0::detail_sphereinterpol::SphereInterpol::interpol(const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with Tloc = double; T = double; size_t = long unsigned int]’ 559 | interpolx(kernel->support(), cube, itheta0, iphi0, theta, phi, signal); | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sht.cc:2951:17: required from ‘void ducc0::detail_sht::synthesis_general(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, ptrdiff_t, const ducc0::detail_mav::cmav&, double, double, double, size_t, SHT_mode, bool) [with T = double; Tloc = double; size_t = long unsigned int; ptrdiff_t = long int]’ 2951 | inter.interpol(planes, 0, 0, xtheta, xphi, map); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sht.cc:2963:99: required from here 2963 | double epsilon, double sigma_min, double sigma_max, size_t nthreads, SHT_mode mode, bool verbose); | ^ ./src/ducc0/sht/sphere_interpol.h:242:21: error: call of ‘(const ducc0::detail_mav::vmav) (int, size_t&)’ is ambiguous 242 | signal(0, i) = reduce(tres0, std::plus<>()); | ~~~~~~^~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:243:21: error: call of ‘(const ducc0::detail_mav::vmav) (int, size_t&)’ is ambiguous 243 | signal(1, i) = reduce(tres1, std::plus<>()); | ~~~~~~^~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:269:23: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&)’ is ambiguous 269 | signal(icomp, i) = reduce(tres, std::plus<>()); | ~~~~~~^~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h: In instantiation of ‘void ducc0::detail_sphereinterpol::SphereInterpol::deinterpolx(size_t, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with long unsigned int supp = 5; Tloc = double; T = double; size_t = long unsigned int]’: ./src/ducc0/sht/sphere_interpol.h:282:51: recursively required from ‘void ducc0::detail_sphereinterpol::SphereInterpol::deinterpolx(size_t, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with long unsigned int supp = 7; Tloc = double; T = double; size_t = long unsigned int]’ 282 | if (supp_(supp_, cube, itheta0, iphi0, theta, phi, signal); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:282:51: required from ‘void ducc0::detail_sphereinterpol::SphereInterpol::deinterpolx(size_t, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with long unsigned int supp = 8; Tloc = double; T = double; size_t = long unsigned int]’ ./src/ducc0/sht/sphere_interpol.h:280:54: required from ‘void ducc0::detail_sphereinterpol::SphereInterpol::deinterpolx(size_t, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with long unsigned int supp = 16; Tloc = double; T = double; size_t = long unsigned int]’ 280 | if (supp_<=supp/2) return deinterpolx(supp_, cube, itheta0, iphi0, theta, phi, signal); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:567:27: required from ‘void ducc0::detail_sphereinterpol::SphereInterpol::deinterpol(const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with Tloc = double; T = double; size_t = long unsigned int]’ 567 | deinterpolx(kernel->support(), cube, itheta0, iphi0, theta, phi, signal); | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sht.cc:2988:19: required from ‘void ducc0::detail_sht::adjoint_synthesis_general(const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, ptrdiff_t, const ducc0::detail_mav::cmav&, double, double, double, size_t, SHT_mode, bool) [with T = double; Tloc = double; size_t = long unsigned int; ptrdiff_t = long int]’ 2988 | inter.deinterpol(planes, 0, 0, xtheta, xphi, map); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sht.cc:3001:99: required from here 3001 | double epsilon, double sigma_min, double sigma_max, size_t nthreads, SHT_mode mode, bool verbose); | ^ ./src/ducc0/sht/sphere_interpol.h:357:46: error: call of ‘(const ducc0::detail_mav::vmav) (int, size_t&, size_t&)’ is ambiguous 357 | T * DUCC0_RESTRICT ptr0 = &cube(0,hlp.itheta,hlp.iphi); | ~~~~^~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:358:46: error: call of ‘(const ducc0::detail_mav::vmav) (int, size_t&, size_t&)’ is ambiguous 358 | T * DUCC0_RESTRICT ptr1 = &cube(1,hlp.itheta,hlp.iphi); | ~~~~^~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:393:47: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&, size_t&)’ is ambiguous 393 | T * DUCC0_RESTRICT ptr = &cube(icomp,hlp.itheta,hlp.iphi); | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h: In instantiation of ‘void ducc0::detail_sphereinterpol::SphereInterpol::deinterpolx(size_t, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with long unsigned int supp = 12; Tloc = double; T = double; size_t = long unsigned int]’: ./src/ducc0/sht/sphere_interpol.h:282:51: recursively required from ‘void ducc0::detail_sphereinterpol::SphereInterpol::deinterpolx(size_t, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with long unsigned int supp = 15; Tloc = double; T = double; size_t = long unsigned int]’ 282 | if (supp_(supp_, cube, itheta0, iphi0, theta, phi, signal); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:282:51: required from ‘void ducc0::detail_sphereinterpol::SphereInterpol::deinterpolx(size_t, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with long unsigned int supp = 16; Tloc = double; T = double; size_t = long unsigned int]’ ./src/ducc0/sht/sphere_interpol.h:567:27: required from ‘void ducc0::detail_sphereinterpol::SphereInterpol::deinterpol(const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with Tloc = double; T = double; size_t = long unsigned int]’ 567 | deinterpolx(kernel->support(), cube, itheta0, iphi0, theta, phi, signal); | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sht.cc:2988:19: required from ‘void ducc0::detail_sht::adjoint_synthesis_general(const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, ptrdiff_t, const ducc0::detail_mav::cmav&, double, double, double, size_t, SHT_mode, bool) [with T = double; Tloc = double; size_t = long unsigned int; ptrdiff_t = long int]’ 2988 | inter.deinterpol(planes, 0, 0, xtheta, xphi, map); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sht.cc:3001:99: required from here 3001 | double epsilon, double sigma_min, double sigma_max, size_t nthreads, SHT_mode mode, bool verbose); | ^ ./src/ducc0/sht/sphere_interpol.h:357:46: error: call of ‘(const ducc0::detail_mav::vmav) (int, size_t&, size_t&)’ is ambiguous 357 | T * DUCC0_RESTRICT ptr0 = &cube(0,hlp.itheta,hlp.iphi); | ~~~~^~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:358:46: error: call of ‘(const ducc0::detail_mav::vmav) (int, size_t&, size_t&)’ is ambiguous 358 | T * DUCC0_RESTRICT ptr1 = &cube(1,hlp.itheta,hlp.iphi); | ~~~~^~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:393:47: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&, size_t&)’ is ambiguous 393 | T * DUCC0_RESTRICT ptr = &cube(icomp,hlp.itheta,hlp.iphi); | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h: In instantiation of ‘void ducc0::detail_totalconvolve::ConvolverPlan::interpolx(size_t, const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with long unsigned int supp = 5; T = double; size_t = long unsigned int]’: ./src/ducc0/sht/totalconvolve.h:190:49: recursively required from ‘void ducc0::detail_totalconvolve::ConvolverPlan::interpolx(size_t, const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with long unsigned int supp = 7; T = double; size_t = long unsigned int]’ 190 | if (supp_(supp_, cube, itheta0, iphi0, theta, phi, psi, signal); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/totalconvolve.h:190:49: required from ‘void ducc0::detail_totalconvolve::ConvolverPlan::interpolx(size_t, const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with long unsigned int supp = 8; T = double; size_t = long unsigned int]’ ./src/ducc0/sht/totalconvolve.h:188:52: required from ‘void ducc0::detail_totalconvolve::ConvolverPlan::interpolx(size_t, const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with long unsigned int supp = 16; T = double; size_t = long unsigned int]’ 188 | if (supp_<=supp/2) return interpolx(supp_, cube, itheta0, iphi0, theta, phi, psi, signal); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/totalconvolve.h:547:25: required from ‘void ducc0::detail_totalconvolve::ConvolverPlan::interpol(const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with T = double; size_t = long unsigned int]’ 547 | interpolx(kernel->support(), cube, itheta0, iphi0, theta, phi, psi, signal); | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/totalconvolve_pymod.cc:98:15: required from ‘void ducc0::detail_pymodule_totalconvolve::Py_ConvolverPlan::Py_interpol(const pybind11::array&, size_t, size_t, const pybind11::array&, const pybind11::array&, const pybind11::array&, pybind11::array&) [with T = double; size_t = long unsigned int]’ 98 | interpol(cube, itheta0, iphi0, theta, phi, psi, signal); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/totalconvolve_pymod.cc:799:31: required from here 799 | .def("interpol", &conv_d::Py_interpol, Py_ConvolverPlan_interpol_DS, | ^~~~~~~~~~~ ./src/ducc0/sht/totalconvolve.h:249:17: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&)’ is ambiguous 249 | signal(i) = reduce(res, std::plus<>()); | ~~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h: In instantiation of ‘void ducc0::detail_totalconvolve::ConvolverPlan::interpolx(size_t, const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with long unsigned int supp = 12; T = double; size_t = long unsigned int]’: ./src/ducc0/sht/totalconvolve.h:190:49: recursively required from ‘void ducc0::detail_totalconvolve::ConvolverPlan::interpolx(size_t, const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with long unsigned int supp = 15; T = double; size_t = long unsigned int]’ 190 | if (supp_(supp_, cube, itheta0, iphi0, theta, phi, psi, signal); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/totalconvolve.h:190:49: required from ‘void ducc0::detail_totalconvolve::ConvolverPlan::interpolx(size_t, const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with long unsigned int supp = 16; T = double; size_t = long unsigned int]’ ./src/ducc0/sht/totalconvolve.h:547:25: required from ‘void ducc0::detail_totalconvolve::ConvolverPlan::interpol(const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with T = double; size_t = long unsigned int]’ 547 | interpolx(kernel->support(), cube, itheta0, iphi0, theta, phi, psi, signal); | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/totalconvolve_pymod.cc:98:15: required from ‘void ducc0::detail_pymodule_totalconvolve::Py_ConvolverPlan::Py_interpol(const pybind11::array&, size_t, size_t, const pybind11::array&, const pybind11::array&, const pybind11::array&, pybind11::array&) [with T = double; size_t = long unsigned int]’ 98 | interpol(cube, itheta0, iphi0, theta, phi, psi, signal); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/totalconvolve_pymod.cc:799:31: required from here 799 | .def("interpol", &conv_d::Py_interpol, Py_ConvolverPlan_interpol_DS, | ^~~~~~~~~~~ ./src/ducc0/sht/totalconvolve.h:249:17: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&)’ is ambiguous 249 | signal(i) = reduce(res, std::plus<>()); | ~~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h: In instantiation of ‘void ducc0::detail_totalconvolve::ConvolverPlan::deinterpolx(size_t, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with long unsigned int supp = 5; T = double; size_t = long unsigned int]’: ./src/ducc0/sht/totalconvolve.h:260:51: recursively required from ‘void ducc0::detail_totalconvolve::ConvolverPlan::deinterpolx(size_t, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with long unsigned int supp = 7; T = double; size_t = long unsigned int]’ 260 | if (supp_(supp_, cube, itheta0, iphi0, theta, phi, psi, signal); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/totalconvolve.h:260:51: required from ‘void ducc0::detail_totalconvolve::ConvolverPlan::deinterpolx(size_t, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with long unsigned int supp = 8; T = double; size_t = long unsigned int]’ ./src/ducc0/sht/totalconvolve.h:258:54: required from ‘void ducc0::detail_totalconvolve::ConvolverPlan::deinterpolx(size_t, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with long unsigned int supp = 16; T = double; size_t = long unsigned int]’ 258 | if (supp_<=supp/2) return deinterpolx(supp_, cube, itheta0, iphi0, theta, phi, psi, signal); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/totalconvolve.h:555:27: required from ‘void ducc0::detail_totalconvolve::ConvolverPlan::deinterpol(const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with T = double; size_t = long unsigned int]’ 555 | deinterpolx(kernel->support(), cube, itheta0, iphi0, theta, phi, psi, signal); | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/totalconvolve_pymod.cc:112:17: required from ‘void ducc0::detail_pymodule_totalconvolve::Py_ConvolverPlan::Py_deinterpol(pybind11::array&, size_t, size_t, const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::array&) [with T = double; size_t = long unsigned int]’ 112 | deinterpol(cube, itheta0, iphi0, theta, phi, psi, signal); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/totalconvolve_pymod.cc:801:33: required from here 801 | .def("deinterpol", &conv_d::Py_deinterpol, Py_ConvolverPlan_deinterpol_DS, | ^~~~~~~~~~~~~ ./src/ducc0/sht/totalconvolve.h:294:41: error: call of ‘(const ducc0::detail_mav::vmav) (long unsigned int&, size_t&, size_t&)’ is ambiguous 294 | T * DUCC0_RESTRICT ptr = &cube(ipsi,hlp.itheta,hlp.iphi); | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h:352:28: error: call of ‘(const ducc0::detail_mav::vmav) (long unsigned int&, size_t&, size_t&)’ is ambiguous 352 | ptr = &cube(ipsi,hlp.itheta,hlp.iphi); | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h: In instantiation of ‘void ducc0::detail_totalconvolve::ConvolverPlan::deinterpolx(size_t, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with long unsigned int supp = 12; T = double; size_t = long unsigned int]’: ./src/ducc0/sht/totalconvolve.h:260:51: recursively required from ‘void ducc0::detail_totalconvolve::ConvolverPlan::deinterpolx(size_t, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with long unsigned int supp = 15; T = double; size_t = long unsigned int]’ 260 | if (supp_(supp_, cube, itheta0, iphi0, theta, phi, psi, signal); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/totalconvolve.h:260:51: required from ‘void ducc0::detail_totalconvolve::ConvolverPlan::deinterpolx(size_t, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with long unsigned int supp = 16; T = double; size_t = long unsigned int]’ ./src/ducc0/sht/totalconvolve.h:555:27: required from ‘void ducc0::detail_totalconvolve::ConvolverPlan::deinterpol(const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with T = double; size_t = long unsigned int]’ 555 | deinterpolx(kernel->support(), cube, itheta0, iphi0, theta, phi, psi, signal); | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/totalconvolve_pymod.cc:112:17: required from ‘void ducc0::detail_pymodule_totalconvolve::Py_ConvolverPlan::Py_deinterpol(pybind11::array&, size_t, size_t, const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::array&) [with T = double; size_t = long unsigned int]’ 112 | deinterpol(cube, itheta0, iphi0, theta, phi, psi, signal); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/totalconvolve_pymod.cc:801:33: required from here 801 | .def("deinterpol", &conv_d::Py_deinterpol, Py_ConvolverPlan_deinterpol_DS, | ^~~~~~~~~~~~~ ./src/ducc0/sht/totalconvolve.h:294:41: error: call of ‘(const ducc0::detail_mav::vmav) (long unsigned int&, size_t&, size_t&)’ is ambiguous 294 | T * DUCC0_RESTRICT ptr = &cube(ipsi,hlp.itheta,hlp.iphi); | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h:352:28: error: call of ‘(const ducc0::detail_mav::vmav) (long unsigned int&, size_t&, size_t&)’ is ambiguous 352 | ptr = &cube(ipsi,hlp.itheta,hlp.iphi); | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 4; bool wgrid = true; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’: ./src/ducc0/wgridder/wgridder.h:1245:64: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 8; bool wgrid = true; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1245 | if (supp<=SUPP/2) return grid2x_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1340:38: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c(const ducc0::detail_mav::cmav, 2>&, size_t, double) [with bool wgrid = true; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1340 | grid2x_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1479:25: required from ‘void ducc0::detail_gridder::Wgridder::dirty2x() [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1479 | grid2x_c(grid, pl, w); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:30: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = float; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = float; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:208:32: required from here 208 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 209 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 210 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 211 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1322:45: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 1322 | if (!firstplane) r += ms_out(row, ch); | ~~~~~~^~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1327:23: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 1327 | ms_out(row, ch) = r; | ~~~~~~^~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 7; bool wgrid = true; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’: ./src/ducc0/wgridder/wgridder.h:1247:61: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 8; bool wgrid = true; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1247 | if (supp(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1340:38: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c(const ducc0::detail_mav::cmav, 2>&, size_t, double) [with bool wgrid = true; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1340 | grid2x_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1479:25: required from ‘void ducc0::detail_gridder::Wgridder::dirty2x() [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1479 | grid2x_c(grid, pl, w); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:30: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = float; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = float; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:208:32: required from here 208 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 209 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 210 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 211 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1322:45: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 1322 | if (!firstplane) r += ms_out(row, ch); | ~~~~~~^~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1327:23: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 1327 | ms_out(row, ch) = r; | ~~~~~~^~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::quickzero(const ducc0::detail_mav::vmav&, size_t) [with T = float; size_t = long unsigned int]’: ./src/ducc0/wgridder/wgridder.h:532:90: required from ‘void ducc0::detail_gridder::Wgridder::dirty2grid_pre(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 532 | { auto a0 = subarray<2>(grid, {{0,nxdirty/2}, {nydirty/2,nv-nydirty/2}}); quickzero(a0, nthreads); } | ~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:607:7: required from ‘void ducc0::detail_gridder::Wgridder::dirty2grid(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 607 | dirty2grid_pre(dirty, grid); | ^~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1488:9: required from ‘void ducc0::detail_gridder::Wgridder::dirty2x() [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1488 | dirty2grid(dirty_in, rgrid); | ^~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:30: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = float; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = float; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:208:32: required from here 208 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 209 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 210 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 211 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:82:45: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, int)’ is ambiguous 82 | memset(reinterpret_cast(&arr(lo,0)), 0, sizeof(T)*s1*(hi-lo)); | ~~~^~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:85:47: error: call of ‘(const ducc0::detail_mav::vmav) (long unsigned int&, int)’ is ambiguous 85 | memset(reinterpret_cast(&arr(i,0)), 0, sizeof(T)*s1); | ~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:90:14: error: call of ‘(const ducc0::detail_mav::vmav) (long unsigned int&, size_t&)’ is ambiguous 90 | arr(i,j) = T(0); | ~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 4; bool wgrid = false; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’: ./src/ducc0/wgridder/wgridder.h:1245:64: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 8; bool wgrid = false; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1245 | if (supp<=SUPP/2) return grid2x_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1340:38: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c(const ducc0::detail_mav::cmav, 2>&, size_t, double) [with bool wgrid = false; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1340 | grid2x_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1494:24: required from ‘void ducc0::detail_gridder::Wgridder::dirty2x() [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1494 | grid2x_c(grid, 0); | ~~~~~~~~~~~~~~~^~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:30: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = float; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = float; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:208:32: required from here 208 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 209 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 210 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 211 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1322:45: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 1322 | if (!firstplane) r += ms_out(row, ch); | ~~~~~~^~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1327:23: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 1327 | ms_out(row, ch) = r; | ~~~~~~^~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 7; bool wgrid = false; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’: ./src/ducc0/wgridder/wgridder.h:1247:61: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 8; bool wgrid = false; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1247 | if (supp(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1340:38: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c(const ducc0::detail_mav::cmav, 2>&, size_t, double) [with bool wgrid = false; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1340 | grid2x_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1494:24: required from ‘void ducc0::detail_gridder::Wgridder::dirty2x() [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1494 | grid2x_c(grid, 0); | ~~~~~~~~~~~~~~~^~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:30: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = float; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = float; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:208:32: required from here 208 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 209 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 210 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 211 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1322:45: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 1322 | if (!firstplane) r += ms_out(row, ch); | ~~~~~~^~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1327:23: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 1327 | ms_out(row, ch) = r; | ~~~~~~^~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 4; bool wgrid = true; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’: ./src/ducc0/wgridder/wgridder.h:1245:64: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 8; bool wgrid = true; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1245 | if (supp<=SUPP/2) return grid2x_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1340:38: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c(const ducc0::detail_mav::cmav, 2>&, size_t, double) [with bool wgrid = true; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1340 | grid2x_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1479:25: required from ‘void ducc0::detail_gridder::Wgridder::dirty2x() [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1479 | grid2x_c(grid, pl, w); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:30: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = float; Tms = float; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = float; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:192:20: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = float; size_t = long unsigned int]’ 192 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 193 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 194 | sigma_max, center_x, center_y, allow_nshift); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:208:32: required from here 208 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 209 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 210 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 211 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1322:45: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 1322 | if (!firstplane) r += ms_out(row, ch); | ~~~~~~^~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1327:23: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 1327 | ms_out(row, ch) = r; | ~~~~~~^~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 7; bool wgrid = true; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’: ./src/ducc0/wgridder/wgridder.h:1247:61: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 8; bool wgrid = true; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1247 | if (supp(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1340:38: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c(const ducc0::detail_mav::cmav, 2>&, size_t, double) [with bool wgrid = true; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1340 | grid2x_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1479:25: required from ‘void ducc0::detail_gridder::Wgridder::dirty2x() [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1479 | grid2x_c(grid, pl, w); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:30: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = float; Tms = float; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = float; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:192:20: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = float; size_t = long unsigned int]’ 192 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 193 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 194 | sigma_max, center_x, center_y, allow_nshift); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:208:32: required from here 208 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 209 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 210 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 211 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1322:45: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 1322 | if (!firstplane) r += ms_out(row, ch); | ~~~~~~^~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1327:23: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 1327 | ms_out(row, ch) = r; | ~~~~~~^~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 4; bool wgrid = false; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’: ./src/ducc0/wgridder/wgridder.h:1245:64: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 8; bool wgrid = false; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1245 | if (supp<=SUPP/2) return grid2x_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1340:38: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c(const ducc0::detail_mav::cmav, 2>&, size_t, double) [with bool wgrid = false; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1340 | grid2x_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1494:24: required from ‘void ducc0::detail_gridder::Wgridder::dirty2x() [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1494 | grid2x_c(grid, 0); | ~~~~~~~~~~~~~~~^~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:30: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = float; Tms = float; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = float; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:192:20: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = float; size_t = long unsigned int]’ 192 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 193 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 194 | sigma_max, center_x, center_y, allow_nshift); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:208:32: required from here 208 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 209 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 210 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 211 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1322:45: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 1322 | if (!firstplane) r += ms_out(row, ch); | ~~~~~~^~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1327:23: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 1327 | ms_out(row, ch) = r; | ~~~~~~^~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 7; bool wgrid = false; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’: ./src/ducc0/wgridder/wgridder.h:1247:61: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 8; bool wgrid = false; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1247 | if (supp(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1340:38: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c(const ducc0::detail_mav::cmav, 2>&, size_t, double) [with bool wgrid = false; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1340 | grid2x_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1494:24: required from ‘void ducc0::detail_gridder::Wgridder::dirty2x() [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1494 | grid2x_c(grid, 0); | ~~~~~~~~~~~~~~~^~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:30: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = float; Tms = float; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = float; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:192:20: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = float; size_t = long unsigned int]’ 192 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 193 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 194 | sigma_max, center_x, center_y, allow_nshift); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:208:32: required from here 208 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 209 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 210 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 211 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1322:45: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 1322 | if (!firstplane) r += ms_out(row, ch); | ~~~~~~^~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1327:23: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 1327 | ms_out(row, ch) = r; | ~~~~~~^~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 8; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’: ./src/ducc0/wgridder/wgridder.h:1245:64: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 16; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1245 | if (supp<=SUPP/2) return grid2x_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1340:38: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c(const ducc0::detail_mav::cmav, 2>&, size_t, double) [with bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1340 | grid2x_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1479:25: required from ‘void ducc0::detail_gridder::Wgridder::dirty2x() [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1479 | grid2x_c(grid, pl, w); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:30: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = double; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = double; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:213:33: required from here 213 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 214 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 215 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 216 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1322:45: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 1322 | if (!firstplane) r += ms_out(row, ch); | ~~~~~~^~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1327:23: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 1327 | ms_out(row, ch) = r; | ~~~~~~^~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 15; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’: ./src/ducc0/wgridder/wgridder.h:1247:61: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 16; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1247 | if (supp(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1340:38: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c(const ducc0::detail_mav::cmav, 2>&, size_t, double) [with bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1340 | grid2x_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1479:25: required from ‘void ducc0::detail_gridder::Wgridder::dirty2x() [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1479 | grid2x_c(grid, pl, w); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:30: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = double; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = double; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:213:33: required from here 213 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 214 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 215 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 216 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1322:45: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 1322 | if (!firstplane) r += ms_out(row, ch); | ~~~~~~^~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1327:23: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 1327 | ms_out(row, ch) = r; | ~~~~~~^~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::quickzero(const ducc0::detail_mav::vmav&, size_t) [with T = double; size_t = long unsigned int]’: ./src/ducc0/wgridder/wgridder.h:532:90: required from ‘void ducc0::detail_gridder::Wgridder::dirty2grid_pre(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’ 532 | { auto a0 = subarray<2>(grid, {{0,nxdirty/2}, {nydirty/2,nv-nydirty/2}}); quickzero(a0, nthreads); } | ~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:607:7: required from ‘void ducc0::detail_gridder::Wgridder::dirty2grid(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’ 607 | dirty2grid_pre(dirty, grid); | ^~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1488:9: required from ‘void ducc0::detail_gridder::Wgridder::dirty2x() [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1488 | dirty2grid(dirty_in, rgrid); | ^~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:30: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = double; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = double; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:213:33: required from here 213 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 214 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 215 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 216 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:82:45: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, int)’ is ambiguous 82 | memset(reinterpret_cast(&arr(lo,0)), 0, sizeof(T)*s1*(hi-lo)); | ~~~^~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:85:47: error: call of ‘(const ducc0::detail_mav::vmav) (long unsigned int&, int)’ is ambiguous 85 | memset(reinterpret_cast(&arr(i,0)), 0, sizeof(T)*s1); | ~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:90:14: error: call of ‘(const ducc0::detail_mav::vmav) (long unsigned int&, size_t&)’ is ambiguous 90 | arr(i,j) = T(0); | ~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 8; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’: ./src/ducc0/wgridder/wgridder.h:1245:64: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 16; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1245 | if (supp<=SUPP/2) return grid2x_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1340:38: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c(const ducc0::detail_mav::cmav, 2>&, size_t, double) [with bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1340 | grid2x_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1494:24: required from ‘void ducc0::detail_gridder::Wgridder::dirty2x() [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1494 | grid2x_c(grid, 0); | ~~~~~~~~~~~~~~~^~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:30: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = double; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = double; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:213:33: required from here 213 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 214 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 215 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 216 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1322:45: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 1322 | if (!firstplane) r += ms_out(row, ch); | ~~~~~~^~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1327:23: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 1327 | ms_out(row, ch) = r; | ~~~~~~^~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 15; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’: ./src/ducc0/wgridder/wgridder.h:1247:61: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 16; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1247 | if (supp(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1340:38: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c(const ducc0::detail_mav::cmav, 2>&, size_t, double) [with bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1340 | grid2x_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1494:24: required from ‘void ducc0::detail_gridder::Wgridder::dirty2x() [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1494 | grid2x_c(grid, 0); | ~~~~~~~~~~~~~~~^~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:30: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = double; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = double; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:213:33: required from here 213 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 214 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 215 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 216 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1322:45: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 1322 | if (!firstplane) r += ms_out(row, ch); | ~~~~~~^~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1327:23: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 1327 | ms_out(row, ch) = r; | ~~~~~~^~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 8; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:543:62: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 543 | if (supp<=SUPP/2) return interpolation_helper(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:318:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1433:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 1433 | if (si1) si1->interp(cmav,1>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = float; Tcoord = double; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:102:37: required from here 102 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 103 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:602:21: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 602 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:627:19: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 627 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:545:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 545 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:318:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1433:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 1433 | if (si1) si1->interp(cmav,1>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = float; Tcoord = double; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:102:37: required from here 102 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 103 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:602:21: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 602 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:627:19: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 627 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 8; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:893:62: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 893 | if (supp<=SUPP/2) return interpolation_helper(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:653:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1434:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 1434 | if (si2) si2->interp(cmav,2>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = float; Tcoord = double; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:102:37: required from here 102 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 103 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:951:17: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 951 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:895:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 895 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:653:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1434:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 1434 | if (si2) si2->interp(cmav,2>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = float; Tcoord = double; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:102:37: required from here 102 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 103 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:951:17: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 951 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 8; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:1272:62: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 1272 | if (supp<=SUPP/2) return interpolation_helper(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:979:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1435:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 1435 | if (si3) si3->interp(cmav,3>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = float; Tcoord = double; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:102:37: required from here 102 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 103 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1344:17: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 1344 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:1274:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 1274 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:979:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1435:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 1435 | if (si3) si3->interp(cmav,3>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = float; Tcoord = double; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:102:37: required from here 102 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 103 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1344:17: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 1344 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 8; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:543:62: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 543 | if (supp<=SUPP/2) return interpolation_helper(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:318:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1433:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 1433 | if (si1) si1->interp(cmav,1>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = double; Tcoord = float; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:108:37: required from here 108 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 109 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:602:21: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 602 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:627:19: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 627 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:545:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 545 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:318:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1433:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 1433 | if (si1) si1->interp(cmav,1>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = double; Tcoord = float; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:108:37: required from here 108 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 109 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:602:21: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 602 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:627:19: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 627 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 8; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:893:62: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 893 | if (supp<=SUPP/2) return interpolation_helper(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:653:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1434:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 1434 | if (si2) si2->interp(cmav,2>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = double; Tcoord = float; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:108:37: required from here 108 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 109 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:951:17: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 951 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:895:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 895 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:653:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1434:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 1434 | if (si2) si2->interp(cmav,2>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = double; Tcoord = float; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:108:37: required from here 108 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 109 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:951:17: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 951 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 8; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:1272:62: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 1272 | if (supp<=SUPP/2) return interpolation_helper(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:979:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1435:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 1435 | if (si3) si3->interp(cmav,3>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = double; Tcoord = float; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:108:37: required from here 108 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 109 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1344:17: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 1344 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:1274:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 1274 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:979:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1435:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 1435 | if (si3) si3->interp(cmav,3>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = double; Tcoord = float; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:108:37: required from here 108 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 109 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1344:17: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 1344 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 4; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:543:62: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 8; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 543 | if (supp<=SUPP/2) return interpolation_helper(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:543:62: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:318:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1449:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 1449 | if (si1) si1->interp(cmav,1>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = double]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:500:35: required from here 500 | if (pd) return do_get_points(pd, coord, values, gridd); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:602:21: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 602 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:627:19: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 627 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 7; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:545:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 8; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 545 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:543:62: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 543 | if (supp<=SUPP/2) return interpolation_helper(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:318:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1449:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 1449 | if (si1) si1->interp(cmav,1>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = double]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:500:35: required from here 500 | if (pd) return do_get_points(pd, coord, values, gridd); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:602:21: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 602 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:627:19: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 627 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 14; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:545:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 545 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:545:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:318:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1449:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 1449 | if (si1) si1->interp(cmav,1>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = double]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:500:35: required from here 500 | if (pd) return do_get_points(pd, coord, values, gridd); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:602:21: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 602 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:627:19: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 627 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 16; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:426:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep_for_index(std::array) [with long unsigned int supp = 16; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 426 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:591:33: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 591 | hlp.prep_for_index(index[k]); | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:318:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1449:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 1449 | if (si1) si1->interp(cmav,1>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = double]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:500:35: required from here 500 | if (pd) return do_get_points(pd, coord, values, gridd); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:407:19: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&)’ is ambiguous 407 | { bufr(iu) = grid(idxu).real(); bufi(iu) = grid(idxu).imag(); } | ~~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:407:49: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&)’ is ambiguous 407 | { bufr(iu) = grid(idxu).real(); bufi(iu) = grid(idxu).imag(); } | ~~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 4; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:893:62: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 8; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 893 | if (supp<=SUPP/2) return interpolation_helper(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:893:62: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:653:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1450:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 1450 | if (si2) si2->interp(cmav,2>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = double]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:500:35: required from here 500 | if (pd) return do_get_points(pd, coord, values, gridd); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:951:17: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 951 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 7; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:895:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 8; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 895 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:893:62: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 893 | if (supp<=SUPP/2) return interpolation_helper(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:653:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1450:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 1450 | if (si2) si2->interp(cmav,2>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = double]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:500:35: required from here 500 | if (pd) return do_get_points(pd, coord, values, gridd); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:951:17: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 951 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 14; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:895:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 895 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:895:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:653:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1450:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 1450 | if (si2) si2->interp(cmav,2>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = double]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:500:35: required from here 500 | if (pd) return do_get_points(pd, coord, values, gridd); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:951:17: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 951 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 16; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:799:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep(std::array) [with long unsigned int supp = 16; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 799 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:919:28: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 919 | sorted ? hlp.prep({coords(ix,0), coords(ix,1)}) | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:653:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1450:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 1450 | if (si2) si2->interp(cmav,2>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = double]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:500:35: required from here 500 | if (pd) return do_get_points(pd, coord, values, gridd); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:762:20: error: call of ‘(ducc0::detail_mav::vmav) (int64_t, int64_t&)’ is ambiguous 762 | bufri(2*iu ,iv) = grid(idxu, idxv).real(); | ~~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:763:20: error: call of ‘(ducc0::detail_mav::vmav) (int64_t, int64_t&)’ is ambiguous 763 | bufri(2*iu+1,iv) = grid(idxu, idxv).imag(); | ~~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 4; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:1272:62: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 8; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 1272 | if (supp<=SUPP/2) return interpolation_helper(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1272:62: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:979:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1451:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 1451 | if (si3) si3->interp(cmav,3>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = double]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:500:35: required from here 500 | if (pd) return do_get_points(pd, coord, values, gridd); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1344:17: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 1344 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 7; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:1274:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 8; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 1274 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1272:62: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 1272 | if (supp<=SUPP/2) return interpolation_helper(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:979:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1451:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 1451 | if (si3) si3->interp(cmav,3>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = double]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:500:35: required from here 500 | if (pd) return do_get_points(pd, coord, values, gridd); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1344:17: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 1344 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 14; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:1274:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 1274 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1274:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:979:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1451:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 1451 | if (si3) si3->interp(cmav,3>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = double]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:500:35: required from here 500 | if (pd) return do_get_points(pd, coord, values, gridd); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1344:17: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 1344 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 16; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:1171:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep(std::array) [with long unsigned int supp = 16; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 1171 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:1300:28: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 1300 | sorted ? hlp.prep({coords(ix,0), coords(ix,1), coords(ix,2)}) | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:979:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1451:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 1451 | if (si3) si3->interp(cmav,3>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = double]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:500:35: required from here 500 | if (pd) return do_get_points(pd, coord, values, gridd); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1130:22: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&, int64_t, int64_t&)’ is ambiguous 1130 | bufri(iu,2*iv,iw) = grid(idxu, idxv, idxw).real(); | ~~~~~^~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1131:22: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&, int64_t, int64_t&)’ is ambiguous 1131 | bufri(iu,2*iv+1,iw) = grid(idxu, idxv, idxw).imag(); | ~~~~~^~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 4; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:543:62: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 8; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 543 | if (supp<=SUPP/2) return interpolation_helper(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:543:62: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:318:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1449:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 1449 | if (si1) si1->interp(cmav,1>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = float]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:501:35: required from here 501 | if (pf) return do_get_points(pf, coord, values, gridf); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:602:21: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 602 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:627:19: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 627 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 7; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:545:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 8; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 545 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:543:62: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 543 | if (supp<=SUPP/2) return interpolation_helper(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:318:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1449:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 1449 | if (si1) si1->interp(cmav,1>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = float]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:501:35: required from here 501 | if (pf) return do_get_points(pf, coord, values, gridf); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:602:21: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 602 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:627:19: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 627 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 14; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:545:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 545 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:545:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:318:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1449:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 1449 | if (si1) si1->interp(cmav,1>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = float]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:501:35: required from here 501 | if (pf) return do_get_points(pf, coord, values, gridf); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:602:21: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 602 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:627:19: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 627 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 16; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:426:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep_for_index(std::array) [with long unsigned int supp = 16; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 426 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:591:33: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 591 | hlp.prep_for_index(index[k]); | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:318:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1449:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 1449 | if (si1) si1->interp(cmav,1>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = float]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:501:35: required from here 501 | if (pf) return do_get_points(pf, coord, values, gridf); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:407:19: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&)’ is ambiguous 407 | { bufr(iu) = grid(idxu).real(); bufi(iu) = grid(idxu).imag(); } | ~~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int}; T = float; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int}; T = float; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:407:49: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&)’ is ambiguous 407 | { bufr(iu) = grid(idxu).real(); bufi(iu) = grid(idxu).imag(); } | ~~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int}; T = float; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int}; T = float; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 4; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:893:62: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 8; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 893 | if (supp<=SUPP/2) return interpolation_helper(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:893:62: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:653:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1450:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 1450 | if (si2) si2->interp(cmav,2>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = float]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:501:35: required from here 501 | if (pf) return do_get_points(pf, coord, values, gridf); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:951:17: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 951 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 7; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:895:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 8; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 895 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:893:62: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 893 | if (supp<=SUPP/2) return interpolation_helper(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:653:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1450:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 1450 | if (si2) si2->interp(cmav,2>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = float]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:501:35: required from here 501 | if (pf) return do_get_points(pf, coord, values, gridf); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:951:17: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 951 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 14; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:895:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 895 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:895:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:653:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1450:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 1450 | if (si2) si2->interp(cmav,2>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = float]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:501:35: required from here 501 | if (pf) return do_get_points(pf, coord, values, gridf); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:951:17: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 951 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 16; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:799:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep(std::array) [with long unsigned int supp = 16; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 799 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:919:28: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 919 | sorted ? hlp.prep({coords(ix,0), coords(ix,1)}) | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:653:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1450:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 1450 | if (si2) si2->interp(cmav,2>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = float]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:501:35: required from here 501 | if (pf) return do_get_points(pf, coord, values, gridf); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:762:20: error: call of ‘(ducc0::detail_mav::vmav) (int64_t, int64_t&)’ is ambiguous 762 | bufri(2*iu ,iv) = grid(idxu, idxv).real(); | ~~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:763:20: error: call of ‘(ducc0::detail_mav::vmav) (int64_t, int64_t&)’ is ambiguous 763 | bufri(2*iu+1,iv) = grid(idxu, idxv).imag(); | ~~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 4; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:1272:62: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 8; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 1272 | if (supp<=SUPP/2) return interpolation_helper(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1272:62: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:979:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1451:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 1451 | if (si3) si3->interp(cmav,3>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = float]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:501:35: required from here 501 | if (pf) return do_get_points(pf, coord, values, gridf); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1344:17: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 1344 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 7; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:1274:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 8; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 1274 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1272:62: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 1272 | if (supp<=SUPP/2) return interpolation_helper(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:979:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1451:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 1451 | if (si3) si3->interp(cmav,3>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = float]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:501:35: required from here 501 | if (pf) return do_get_points(pf, coord, values, gridf); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1344:17: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 1344 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 14; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:1274:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 1274 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1274:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:979:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1451:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 1451 | if (si3) si3->interp(cmav,3>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = float]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:501:35: required from here 501 | if (pf) return do_get_points(pf, coord, values, gridf); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1344:17: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 1344 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 16; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:1171:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep(std::array) [with long unsigned int supp = 16; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 1171 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:1300:28: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 1300 | sorted ? hlp.prep({coords(ix,0), coords(ix,1), coords(ix,2)}) | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:979:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1451:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 1451 | if (si3) si3->interp(cmav,3>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = float]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:501:35: required from here 501 | if (pf) return do_get_points(pf, coord, values, gridf); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1130:22: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&, int64_t, int64_t&)’ is ambiguous 1130 | bufri(iu,2*iv,iw) = grid(idxu, idxv, idxw).real(); | ~~~~~^~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1131:22: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&, int64_t, int64_t&)’ is ambiguous 1131 | bufri(iu,2*iv+1,iw) = grid(idxu, idxv, idxw).imag(); | ~~~~~^~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h: In instantiation of ‘void ducc0::detail_sphereinterpol::SphereInterpol::interpolx(size_t, const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with long unsigned int supp = 11; Tloc = double; T = double; size_t = long unsigned int]’: ./src/ducc0/sht/sphere_interpol.h:180:49: recursively required from ‘void ducc0::detail_sphereinterpol::SphereInterpol::interpolx(size_t, const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with long unsigned int supp = 15; Tloc = double; T = double; size_t = long unsigned int]’ 180 | if (supp_(supp_, cube, itheta0, iphi0, theta, phi, signal); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:180:49: required from ‘void ducc0::detail_sphereinterpol::SphereInterpol::interpolx(size_t, const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with long unsigned int supp = 16; Tloc = double; T = double; size_t = long unsigned int]’ ./src/ducc0/sht/sphere_interpol.h:559:25: required from ‘void ducc0::detail_sphereinterpol::SphereInterpol::interpol(const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with Tloc = double; T = double; size_t = long unsigned int]’ 559 | interpolx(kernel->support(), cube, itheta0, iphi0, theta, phi, signal); | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sht.cc:2951:17: required from ‘void ducc0::detail_sht::synthesis_general(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, ptrdiff_t, const ducc0::detail_mav::cmav&, double, double, double, size_t, SHT_mode, bool) [with T = double; Tloc = double; size_t = long unsigned int; ptrdiff_t = long int]’ 2951 | inter.interpol(planes, 0, 0, xtheta, xphi, map); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sht.cc:2963:99: required from here 2963 | double epsilon, double sigma_min, double sigma_max, size_t nthreads, SHT_mode mode, bool verbose); | ^ ./src/ducc0/sht/sphere_interpol.h:242:21: error: call of ‘(const ducc0::detail_mav::vmav) (int, size_t&)’ is ambiguous 242 | signal(0, i) = reduce(tres0, std::plus<>()); | ~~~~~~^~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:243:21: error: call of ‘(const ducc0::detail_mav::vmav) (int, size_t&)’ is ambiguous 243 | signal(1, i) = reduce(tres1, std::plus<>()); | ~~~~~~^~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:269:23: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&)’ is ambiguous 269 | signal(icomp, i) = reduce(tres, std::plus<>()); | ~~~~~~^~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h: In instantiation of ‘void ducc0::detail_sphereinterpol::SphereInterpol::deinterpolx(size_t, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with long unsigned int supp = 11; Tloc = double; T = double; size_t = long unsigned int]’: ./src/ducc0/sht/sphere_interpol.h:282:51: recursively required from ‘void ducc0::detail_sphereinterpol::SphereInterpol::deinterpolx(size_t, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with long unsigned int supp = 15; Tloc = double; T = double; size_t = long unsigned int]’ 282 | if (supp_(supp_, cube, itheta0, iphi0, theta, phi, signal); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:282:51: required from ‘void ducc0::detail_sphereinterpol::SphereInterpol::deinterpolx(size_t, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with long unsigned int supp = 16; Tloc = double; T = double; size_t = long unsigned int]’ ./src/ducc0/sht/sphere_interpol.h:567:27: required from ‘void ducc0::detail_sphereinterpol::SphereInterpol::deinterpol(const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with Tloc = double; T = double; size_t = long unsigned int]’ 567 | deinterpolx(kernel->support(), cube, itheta0, iphi0, theta, phi, signal); | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sht.cc:2988:19: required from ‘void ducc0::detail_sht::adjoint_synthesis_general(const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, ptrdiff_t, const ducc0::detail_mav::cmav&, double, double, double, size_t, SHT_mode, bool) [with T = double; Tloc = double; size_t = long unsigned int; ptrdiff_t = long int]’ 2988 | inter.deinterpol(planes, 0, 0, xtheta, xphi, map); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sht.cc:3001:99: required from here 3001 | double epsilon, double sigma_min, double sigma_max, size_t nthreads, SHT_mode mode, bool verbose); | ^ ./src/ducc0/sht/sphere_interpol.h:357:46: error: call of ‘(const ducc0::detail_mav::vmav) (int, size_t&, size_t&)’ is ambiguous 357 | T * DUCC0_RESTRICT ptr0 = &cube(0,hlp.itheta,hlp.iphi); | ~~~~^~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:358:46: error: call of ‘(const ducc0::detail_mav::vmav) (int, size_t&, size_t&)’ is ambiguous 358 | T * DUCC0_RESTRICT ptr1 = &cube(1,hlp.itheta,hlp.iphi); | ~~~~^~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:393:47: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&, size_t&)’ is ambiguous 393 | T * DUCC0_RESTRICT ptr = &cube(icomp,hlp.itheta,hlp.iphi); | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h: In instantiation of ‘void ducc0::detail_totalconvolve::ConvolverPlan::interpolx(size_t, const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with long unsigned int supp = 11; T = double; size_t = long unsigned int]’: ./src/ducc0/sht/totalconvolve.h:190:49: recursively required from ‘void ducc0::detail_totalconvolve::ConvolverPlan::interpolx(size_t, const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with long unsigned int supp = 15; T = double; size_t = long unsigned int]’ 190 | if (supp_(supp_, cube, itheta0, iphi0, theta, phi, psi, signal); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/totalconvolve.h:190:49: required from ‘void ducc0::detail_totalconvolve::ConvolverPlan::interpolx(size_t, const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with long unsigned int supp = 16; T = double; size_t = long unsigned int]’ ./src/ducc0/sht/totalconvolve.h:547:25: required from ‘void ducc0::detail_totalconvolve::ConvolverPlan::interpol(const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with T = double; size_t = long unsigned int]’ 547 | interpolx(kernel->support(), cube, itheta0, iphi0, theta, phi, psi, signal); | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/totalconvolve_pymod.cc:98:15: required from ‘void ducc0::detail_pymodule_totalconvolve::Py_ConvolverPlan::Py_interpol(const pybind11::array&, size_t, size_t, const pybind11::array&, const pybind11::array&, const pybind11::array&, pybind11::array&) [with T = double; size_t = long unsigned int]’ 98 | interpol(cube, itheta0, iphi0, theta, phi, psi, signal); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/totalconvolve_pymod.cc:799:31: required from here 799 | .def("interpol", &conv_d::Py_interpol, Py_ConvolverPlan_interpol_DS, | ^~~~~~~~~~~ ./src/ducc0/sht/totalconvolve.h:249:17: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&)’ is ambiguous 249 | signal(i) = reduce(res, std::plus<>()); | ~~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h: In instantiation of ‘void ducc0::detail_totalconvolve::ConvolverPlan::deinterpolx(size_t, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with long unsigned int supp = 11; T = double; size_t = long unsigned int]’: ./src/ducc0/sht/totalconvolve.h:260:51: recursively required from ‘void ducc0::detail_totalconvolve::ConvolverPlan::deinterpolx(size_t, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with long unsigned int supp = 15; T = double; size_t = long unsigned int]’ 260 | if (supp_(supp_, cube, itheta0, iphi0, theta, phi, psi, signal); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/totalconvolve.h:260:51: required from ‘void ducc0::detail_totalconvolve::ConvolverPlan::deinterpolx(size_t, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with long unsigned int supp = 16; T = double; size_t = long unsigned int]’ ./src/ducc0/sht/totalconvolve.h:555:27: required from ‘void ducc0::detail_totalconvolve::ConvolverPlan::deinterpol(const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with T = double; size_t = long unsigned int]’ 555 | deinterpolx(kernel->support(), cube, itheta0, iphi0, theta, phi, psi, signal); | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/totalconvolve_pymod.cc:112:17: required from ‘void ducc0::detail_pymodule_totalconvolve::Py_ConvolverPlan::Py_deinterpol(pybind11::array&, size_t, size_t, const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::array&) [with T = double; size_t = long unsigned int]’ 112 | deinterpol(cube, itheta0, iphi0, theta, phi, psi, signal); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/totalconvolve_pymod.cc:801:33: required from here 801 | .def("deinterpol", &conv_d::Py_deinterpol, Py_ConvolverPlan_deinterpol_DS, | ^~~~~~~~~~~~~ ./src/ducc0/sht/totalconvolve.h:294:41: error: call of ‘(const ducc0::detail_mav::vmav) (long unsigned int&, size_t&, size_t&)’ is ambiguous 294 | T * DUCC0_RESTRICT ptr = &cube(ipsi,hlp.itheta,hlp.iphi); | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h:352:28: error: call of ‘(const ducc0::detail_mav::vmav) (long unsigned int&, size_t&, size_t&)’ is ambiguous 352 | ptr = &cube(ipsi,hlp.itheta,hlp.iphi); | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::HelperX2g2::dump() [with long unsigned int supp = 16; bool wgrid = true; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:997:25: required from ‘ducc0::detail_gridder::Wgridder::HelperX2g2::~HelperX2g2() [with long unsigned int supp = 16; bool wgrid = true; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 997 | ~HelperX2g2() { dump(); } | ^~~~ ./src/ducc0/wgridder/wgridder.h:1152:32: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 16; bool wgrid = true; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1152 | HelperX2g2 hlp(this, grid, locks, w0, dw); | ^~~ ./src/ducc0/wgridder/wgridder.h:1238:38: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c(const ducc0::detail_mav::vmav, 2>&, size_t, double) [with bool wgrid = true; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1238 | x2grid_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1439:25: required from ‘void ducc0::detail_gridder::Wgridder::x2dirty() [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1439 | x2grid_c(grid, pl, w); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:18: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = float; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = float; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:208:32: required from here 208 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 209 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 210 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 211 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:965:19: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (int&, int&)’ is ambiguous 965 | grid(idxu,idxv) += complex(Tcalc(bufr(iu,iv)), Tcalc(bufi(iu,iv))); | ~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:965:59: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 965 | grid(idxu,idxv) += complex(Tcalc(bufr(iu,iv)), Tcalc(bufi(iu,iv))); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:966:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 966 | bufr(iu,iv) = bufi(iu,iv) = 0; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:966:33: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 966 | bufr(iu,iv) = bufi(iu,iv) = 0; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::HelperX2g2::dump() [with long unsigned int supp = 16; bool wgrid = false; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:997:25: required from ‘ducc0::detail_gridder::Wgridder::HelperX2g2::~HelperX2g2() [with long unsigned int supp = 16; bool wgrid = false; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 997 | ~HelperX2g2() { dump(); } | ^~~~ ./src/ducc0/wgridder/wgridder.h:1152:32: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 16; bool wgrid = false; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1152 | HelperX2g2 hlp(this, grid, locks, w0, dw); | ^~~ ./src/ducc0/wgridder/wgridder.h:1238:38: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c(const ducc0::detail_mav::vmav, 2>&, size_t, double) [with bool wgrid = false; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1238 | x2grid_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1451:24: required from ‘void ducc0::detail_gridder::Wgridder::x2dirty() [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1451 | x2grid_c(grid, 0); | ~~~~~~~~~~~~~~~^~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:18: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = float; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = float; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:208:32: required from here 208 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 209 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 210 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 211 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:965:19: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (int&, int&)’ is ambiguous 965 | grid(idxu,idxv) += complex(Tcalc(bufr(iu,iv)), Tcalc(bufi(iu,iv))); | ~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:965:59: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 965 | grid(idxu,idxv) += complex(Tcalc(bufr(iu,iv)), Tcalc(bufi(iu,iv))); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:966:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 966 | bufr(iu,iv) = bufi(iu,iv) = 0; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:966:33: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 966 | bufr(iu,iv) = bufi(iu,iv) = 0; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 6; bool wgrid = true; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’: ./src/ducc0/wgridder/wgridder.h:1247:61: recursively required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 7; bool wgrid = true; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1247 | if (supp(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1247:61: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 8; bool wgrid = true; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ ./src/ducc0/wgridder/wgridder.h:1340:38: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c(const ducc0::detail_mav::cmav, 2>&, size_t, double) [with bool wgrid = true; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1340 | grid2x_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1479:25: required from ‘void ducc0::detail_gridder::Wgridder::dirty2x() [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1479 | grid2x_c(grid, pl, w); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:30: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = float; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = float; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:208:32: required from here 208 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 209 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 210 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 211 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1322:45: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 1322 | if (!firstplane) r += ms_out(row, ch); | ~~~~~~^~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1327:23: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 1327 | ms_out(row, ch) = r; | ~~~~~~^~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::HelperG2x2::load() [with long unsigned int supp = 8; bool wgrid = true; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:1113:13: required from ‘void ducc0::detail_gridder::Wgridder::HelperG2x2::prep(const ducc0::detail_gridder::UVW&, size_t) [with long unsigned int supp = 8; bool wgrid = true; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1113 | load(); | ^~~~ ./src/ducc0/wgridder/wgridder.h:1290:25: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 8; bool wgrid = true; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1290 | hlp.prep(coord, nth); | ~~~~~~~~^~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1340:38: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c(const ducc0::detail_mav::cmav, 2>&, size_t, double) [with bool wgrid = true; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1340 | grid2x_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1479:25: required from ‘void ducc0::detail_gridder::Wgridder::dirty2x() [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1479 | grid2x_c(grid, pl, w); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:30: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = float; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = float; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:208:32: required from here 208 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 209 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 210 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 211 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1062:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 1062 | bufr(iu,iv) = grid(idxu, idxv).real(); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1063:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 1063 | bufi(iu,iv) = grid(idxu, idxv).imag(); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 6; bool wgrid = false; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’: ./src/ducc0/wgridder/wgridder.h:1247:61: recursively required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 7; bool wgrid = false; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1247 | if (supp(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1247:61: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 8; bool wgrid = false; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ ./src/ducc0/wgridder/wgridder.h:1340:38: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c(const ducc0::detail_mav::cmav, 2>&, size_t, double) [with bool wgrid = false; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1340 | grid2x_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1494:24: required from ‘void ducc0::detail_gridder::Wgridder::dirty2x() [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1494 | grid2x_c(grid, 0); | ~~~~~~~~~~~~~~~^~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:30: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = float; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = float; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:208:32: required from here 208 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 209 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 210 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 211 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1322:45: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 1322 | if (!firstplane) r += ms_out(row, ch); | ~~~~~~^~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1327:23: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 1327 | ms_out(row, ch) = r; | ~~~~~~^~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::HelperG2x2::load() [with long unsigned int supp = 8; bool wgrid = false; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:1113:13: required from ‘void ducc0::detail_gridder::Wgridder::HelperG2x2::prep(const ducc0::detail_gridder::UVW&, size_t) [with long unsigned int supp = 8; bool wgrid = false; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1113 | load(); | ^~~~ ./src/ducc0/wgridder/wgridder.h:1290:25: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 8; bool wgrid = false; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1290 | hlp.prep(coord, nth); | ~~~~~~~~^~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1340:38: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c(const ducc0::detail_mav::cmav, 2>&, size_t, double) [with bool wgrid = false; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1340 | grid2x_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1494:24: required from ‘void ducc0::detail_gridder::Wgridder::dirty2x() [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1494 | grid2x_c(grid, 0); | ~~~~~~~~~~~~~~~^~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:30: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = float; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = float; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:208:32: required from here 208 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 209 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 210 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 211 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1062:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 1062 | bufr(iu,iv) = grid(idxu, idxv).real(); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1063:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 1063 | bufi(iu,iv) = grid(idxu, idxv).imag(); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::HelperX2g2::dump() [with long unsigned int supp = 8; bool wgrid = true; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:997:25: required from ‘ducc0::detail_gridder::Wgridder::HelperX2g2::~HelperX2g2() [with long unsigned int supp = 8; bool wgrid = true; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 997 | ~HelperX2g2() { dump(); } | ^~~~ ./src/ducc0/wgridder/wgridder.h:1152:32: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 8; bool wgrid = true; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1152 | HelperX2g2 hlp(this, grid, locks, w0, dw); | ^~~ ./src/ducc0/wgridder/wgridder.h:1238:38: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c(const ducc0::detail_mav::vmav, 2>&, size_t, double) [with bool wgrid = true; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1238 | x2grid_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1439:25: required from ‘void ducc0::detail_gridder::Wgridder::x2dirty() [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1439 | x2grid_c(grid, pl, w); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:18: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = float; Tms = float; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = float; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:192:20: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = float; size_t = long unsigned int]’ 192 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 193 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 194 | sigma_max, center_x, center_y, allow_nshift); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:208:32: required from here 208 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 209 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 210 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 211 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:965:19: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (int&, int&)’ is ambiguous 965 | grid(idxu,idxv) += complex(Tcalc(bufr(iu,iv)), Tcalc(bufi(iu,iv))); | ~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:965:59: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 965 | grid(idxu,idxv) += complex(Tcalc(bufr(iu,iv)), Tcalc(bufi(iu,iv))); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:966:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 966 | bufr(iu,iv) = bufi(iu,iv) = 0; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:966:33: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 966 | bufr(iu,iv) = bufi(iu,iv) = 0; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::HelperX2g2::dump() [with long unsigned int supp = 8; bool wgrid = false; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:997:25: required from ‘ducc0::detail_gridder::Wgridder::HelperX2g2::~HelperX2g2() [with long unsigned int supp = 8; bool wgrid = false; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 997 | ~HelperX2g2() { dump(); } | ^~~~ ./src/ducc0/wgridder/wgridder.h:1152:32: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 8; bool wgrid = false; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1152 | HelperX2g2 hlp(this, grid, locks, w0, dw); | ^~~ ./src/ducc0/wgridder/wgridder.h:1238:38: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c(const ducc0::detail_mav::vmav, 2>&, size_t, double) [with bool wgrid = false; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1238 | x2grid_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1451:24: required from ‘void ducc0::detail_gridder::Wgridder::x2dirty() [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1451 | x2grid_c(grid, 0); | ~~~~~~~~~~~~~~~^~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:18: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = float; Tms = float; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = float; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:192:20: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = float; size_t = long unsigned int]’ 192 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 193 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 194 | sigma_max, center_x, center_y, allow_nshift); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:208:32: required from here 208 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 209 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 210 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 211 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:965:19: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (int&, int&)’ is ambiguous 965 | grid(idxu,idxv) += complex(Tcalc(bufr(iu,iv)), Tcalc(bufi(iu,iv))); | ~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:965:59: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 965 | grid(idxu,idxv) += complex(Tcalc(bufr(iu,iv)), Tcalc(bufi(iu,iv))); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:966:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 966 | bufr(iu,iv) = bufi(iu,iv) = 0; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:966:33: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 966 | bufr(iu,iv) = bufi(iu,iv) = 0; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 6; bool wgrid = true; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’: ./src/ducc0/wgridder/wgridder.h:1247:61: recursively required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 7; bool wgrid = true; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1247 | if (supp(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1247:61: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 8; bool wgrid = true; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ ./src/ducc0/wgridder/wgridder.h:1340:38: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c(const ducc0::detail_mav::cmav, 2>&, size_t, double) [with bool wgrid = true; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1340 | grid2x_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1479:25: required from ‘void ducc0::detail_gridder::Wgridder::dirty2x() [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1479 | grid2x_c(grid, pl, w); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:30: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = float; Tms = float; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = float; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:192:20: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = float; size_t = long unsigned int]’ 192 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 193 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 194 | sigma_max, center_x, center_y, allow_nshift); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:208:32: required from here 208 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 209 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 210 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 211 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1322:45: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 1322 | if (!firstplane) r += ms_out(row, ch); | ~~~~~~^~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1327:23: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 1327 | ms_out(row, ch) = r; | ~~~~~~^~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::HelperG2x2::load() [with long unsigned int supp = 8; bool wgrid = true; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:1113:13: required from ‘void ducc0::detail_gridder::Wgridder::HelperG2x2::prep(const ducc0::detail_gridder::UVW&, size_t) [with long unsigned int supp = 8; bool wgrid = true; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1113 | load(); | ^~~~ ./src/ducc0/wgridder/wgridder.h:1290:25: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 8; bool wgrid = true; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1290 | hlp.prep(coord, nth); | ~~~~~~~~^~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1340:38: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c(const ducc0::detail_mav::cmav, 2>&, size_t, double) [with bool wgrid = true; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1340 | grid2x_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1479:25: required from ‘void ducc0::detail_gridder::Wgridder::dirty2x() [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1479 | grid2x_c(grid, pl, w); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:30: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = float; Tms = float; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = float; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:192:20: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = float; size_t = long unsigned int]’ 192 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 193 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 194 | sigma_max, center_x, center_y, allow_nshift); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:208:32: required from here 208 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 209 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 210 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 211 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1062:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 1062 | bufr(iu,iv) = grid(idxu, idxv).real(); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1063:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 1063 | bufi(iu,iv) = grid(idxu, idxv).imag(); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 6; bool wgrid = false; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’: ./src/ducc0/wgridder/wgridder.h:1247:61: recursively required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 7; bool wgrid = false; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1247 | if (supp(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1247:61: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 8; bool wgrid = false; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ ./src/ducc0/wgridder/wgridder.h:1340:38: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c(const ducc0::detail_mav::cmav, 2>&, size_t, double) [with bool wgrid = false; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1340 | grid2x_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1494:24: required from ‘void ducc0::detail_gridder::Wgridder::dirty2x() [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1494 | grid2x_c(grid, 0); | ~~~~~~~~~~~~~~~^~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:30: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = float; Tms = float; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = float; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:192:20: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = float; size_t = long unsigned int]’ 192 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 193 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 194 | sigma_max, center_x, center_y, allow_nshift); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:208:32: required from here 208 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 209 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 210 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 211 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1322:45: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 1322 | if (!firstplane) r += ms_out(row, ch); | ~~~~~~^~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1327:23: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 1327 | ms_out(row, ch) = r; | ~~~~~~^~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::HelperG2x2::load() [with long unsigned int supp = 8; bool wgrid = false; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:1113:13: required from ‘void ducc0::detail_gridder::Wgridder::HelperG2x2::prep(const ducc0::detail_gridder::UVW&, size_t) [with long unsigned int supp = 8; bool wgrid = false; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1113 | load(); | ^~~~ ./src/ducc0/wgridder/wgridder.h:1290:25: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 8; bool wgrid = false; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1290 | hlp.prep(coord, nth); | ~~~~~~~~^~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1340:38: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c(const ducc0::detail_mav::cmav, 2>&, size_t, double) [with bool wgrid = false; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1340 | grid2x_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1494:24: required from ‘void ducc0::detail_gridder::Wgridder::dirty2x() [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1494 | grid2x_c(grid, 0); | ~~~~~~~~~~~~~~~^~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:30: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = float; Tms = float; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = float; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:192:20: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = float; size_t = long unsigned int]’ 192 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 193 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 194 | sigma_max, center_x, center_y, allow_nshift); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:208:32: required from here 208 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 209 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 210 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 211 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1062:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 1062 | bufr(iu,iv) = grid(idxu, idxv).real(); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1063:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 1063 | bufi(iu,iv) = grid(idxu, idxv).imag(); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::HelperX2g2::dump() [with long unsigned int supp = 16; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:997:25: required from ‘ducc0::detail_gridder::Wgridder::HelperX2g2::~HelperX2g2() [with long unsigned int supp = 16; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’ 997 | ~HelperX2g2() { dump(); } | ^~~~ ./src/ducc0/wgridder/wgridder.h:1152:32: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 16; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1152 | HelperX2g2 hlp(this, grid, locks, w0, dw); | ^~~ ./src/ducc0/wgridder/wgridder.h:1238:38: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c(const ducc0::detail_mav::vmav, 2>&, size_t, double) [with bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1238 | x2grid_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1439:25: required from ‘void ducc0::detail_gridder::Wgridder::x2dirty() [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1439 | x2grid_c(grid, pl, w); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:18: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = double; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = double; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:213:33: required from here 213 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 214 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 215 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 216 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:965:19: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (int&, int&)’ is ambiguous 965 | grid(idxu,idxv) += complex(Tcalc(bufr(iu,iv)), Tcalc(bufi(iu,iv))); | ~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:965:59: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 965 | grid(idxu,idxv) += complex(Tcalc(bufr(iu,iv)), Tcalc(bufi(iu,iv))); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:966:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 966 | bufr(iu,iv) = bufi(iu,iv) = 0; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:966:33: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 966 | bufr(iu,iv) = bufi(iu,iv) = 0; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::HelperX2g2::dump() [with long unsigned int supp = 16; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:997:25: required from ‘ducc0::detail_gridder::Wgridder::HelperX2g2::~HelperX2g2() [with long unsigned int supp = 16; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’ 997 | ~HelperX2g2() { dump(); } | ^~~~ ./src/ducc0/wgridder/wgridder.h:1152:32: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 16; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1152 | HelperX2g2 hlp(this, grid, locks, w0, dw); | ^~~ ./src/ducc0/wgridder/wgridder.h:1238:38: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c(const ducc0::detail_mav::vmav, 2>&, size_t, double) [with bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1238 | x2grid_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1451:24: required from ‘void ducc0::detail_gridder::Wgridder::x2dirty() [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1451 | x2grid_c(grid, 0); | ~~~~~~~~~~~~~~~^~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:18: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = double; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = double; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:213:33: required from here 213 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 214 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 215 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 216 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:965:19: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (int&, int&)’ is ambiguous 965 | grid(idxu,idxv) += complex(Tcalc(bufr(iu,iv)), Tcalc(bufi(iu,iv))); | ~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:965:59: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 965 | grid(idxu,idxv) += complex(Tcalc(bufr(iu,iv)), Tcalc(bufi(iu,iv))); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:966:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 966 | bufr(iu,iv) = bufi(iu,iv) = 0; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:966:33: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 966 | bufr(iu,iv) = bufi(iu,iv) = 0; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 4; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’: ./src/ducc0/wgridder/wgridder.h:1245:64: recursively required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 8; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1245 | if (supp<=SUPP/2) return grid2x_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1245:64: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 16; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ ./src/ducc0/wgridder/wgridder.h:1340:38: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c(const ducc0::detail_mav::cmav, 2>&, size_t, double) [with bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1340 | grid2x_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1479:25: required from ‘void ducc0::detail_gridder::Wgridder::dirty2x() [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1479 | grid2x_c(grid, pl, w); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:30: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = double; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = double; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:213:33: required from here 213 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 214 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 215 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 216 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1322:45: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 1322 | if (!firstplane) r += ms_out(row, ch); | ~~~~~~^~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1327:23: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 1327 | ms_out(row, ch) = r; | ~~~~~~^~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 7; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’: ./src/ducc0/wgridder/wgridder.h:1247:61: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 8; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1247 | if (supp(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1245:64: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 16; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1245 | if (supp<=SUPP/2) return grid2x_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1340:38: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c(const ducc0::detail_mav::cmav, 2>&, size_t, double) [with bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1340 | grid2x_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1479:25: required from ‘void ducc0::detail_gridder::Wgridder::dirty2x() [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1479 | grid2x_c(grid, pl, w); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:30: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = double; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = double; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:213:33: required from here 213 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 214 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 215 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 216 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1322:45: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 1322 | if (!firstplane) r += ms_out(row, ch); | ~~~~~~^~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1327:23: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 1327 | ms_out(row, ch) = r; | ~~~~~~^~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 14; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’: ./src/ducc0/wgridder/wgridder.h:1247:61: recursively required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 15; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1247 | if (supp(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1247:61: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 16; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ ./src/ducc0/wgridder/wgridder.h:1340:38: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c(const ducc0::detail_mav::cmav, 2>&, size_t, double) [with bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1340 | grid2x_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1479:25: required from ‘void ducc0::detail_gridder::Wgridder::dirty2x() [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1479 | grid2x_c(grid, pl, w); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:30: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = double; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = double; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:213:33: required from here 213 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 214 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 215 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 216 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1322:45: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 1322 | if (!firstplane) r += ms_out(row, ch); | ~~~~~~^~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1327:23: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 1327 | ms_out(row, ch) = r; | ~~~~~~^~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::HelperG2x2::load() [with long unsigned int supp = 16; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:1113:13: required from ‘void ducc0::detail_gridder::Wgridder::HelperG2x2::prep(const ducc0::detail_gridder::UVW&, size_t) [with long unsigned int supp = 16; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1113 | load(); | ^~~~ ./src/ducc0/wgridder/wgridder.h:1290:25: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 16; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1290 | hlp.prep(coord, nth); | ~~~~~~~~^~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1340:38: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c(const ducc0::detail_mav::cmav, 2>&, size_t, double) [with bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1340 | grid2x_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1479:25: required from ‘void ducc0::detail_gridder::Wgridder::dirty2x() [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1479 | grid2x_c(grid, pl, w); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:30: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = double; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = double; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:213:33: required from here 213 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 214 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 215 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 216 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1062:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 1062 | bufr(iu,iv) = grid(idxu, idxv).real(); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1063:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 1063 | bufi(iu,iv) = grid(idxu, idxv).imag(); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 4; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’: ./src/ducc0/wgridder/wgridder.h:1245:64: recursively required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 8; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1245 | if (supp<=SUPP/2) return grid2x_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1245:64: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 16; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ ./src/ducc0/wgridder/wgridder.h:1340:38: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c(const ducc0::detail_mav::cmav, 2>&, size_t, double) [with bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1340 | grid2x_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1494:24: required from ‘void ducc0::detail_gridder::Wgridder::dirty2x() [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1494 | grid2x_c(grid, 0); | ~~~~~~~~~~~~~~~^~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:30: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = double; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = double; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:213:33: required from here 213 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 214 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 215 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 216 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1322:45: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 1322 | if (!firstplane) r += ms_out(row, ch); | ~~~~~~^~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1327:23: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 1327 | ms_out(row, ch) = r; | ~~~~~~^~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 7; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’: ./src/ducc0/wgridder/wgridder.h:1247:61: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 8; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1247 | if (supp(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1245:64: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 16; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1245 | if (supp<=SUPP/2) return grid2x_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1340:38: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c(const ducc0::detail_mav::cmav, 2>&, size_t, double) [with bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1340 | grid2x_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1494:24: required from ‘void ducc0::detail_gridder::Wgridder::dirty2x() [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1494 | grid2x_c(grid, 0); | ~~~~~~~~~~~~~~~^~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:30: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = double; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = double; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:213:33: required from here 213 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 214 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 215 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 216 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1322:45: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 1322 | if (!firstplane) r += ms_out(row, ch); | ~~~~~~^~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1327:23: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 1327 | ms_out(row, ch) = r; | ~~~~~~^~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 14; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’: ./src/ducc0/wgridder/wgridder.h:1247:61: recursively required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 15; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1247 | if (supp(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1247:61: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 16; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ ./src/ducc0/wgridder/wgridder.h:1340:38: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c(const ducc0::detail_mav::cmav, 2>&, size_t, double) [with bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1340 | grid2x_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1494:24: required from ‘void ducc0::detail_gridder::Wgridder::dirty2x() [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1494 | grid2x_c(grid, 0); | ~~~~~~~~~~~~~~~^~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:30: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = double; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = double; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:213:33: required from here 213 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 214 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 215 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 216 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1322:45: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 1322 | if (!firstplane) r += ms_out(row, ch); | ~~~~~~^~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1327:23: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 1327 | ms_out(row, ch) = r; | ~~~~~~^~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::HelperG2x2::load() [with long unsigned int supp = 16; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:1113:13: required from ‘void ducc0::detail_gridder::Wgridder::HelperG2x2::prep(const ducc0::detail_gridder::UVW&, size_t) [with long unsigned int supp = 16; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1113 | load(); | ^~~~ ./src/ducc0/wgridder/wgridder.h:1290:25: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 16; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1290 | hlp.prep(coord, nth); | ~~~~~~~~^~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1340:38: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c(const ducc0::detail_mav::cmav, 2>&, size_t, double) [with bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1340 | grid2x_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1494:24: required from ‘void ducc0::detail_gridder::Wgridder::dirty2x() [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1494 | grid2x_c(grid, 0); | ~~~~~~~~~~~~~~~^~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:30: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = double; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = double; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:213:33: required from here 213 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 214 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 215 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 216 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1062:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 1062 | bufr(iu,iv) = grid(idxu, idxv).real(); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1063:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 1063 | bufi(iu,iv) = grid(idxu, idxv).imag(); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 4; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:543:62: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 8; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 543 | if (supp<=SUPP/2) return interpolation_helper(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:543:62: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:318:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1433:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 1433 | if (si1) si1->interp(cmav,1>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = float; Tcoord = double; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:102:37: required from here 102 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 103 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:602:21: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 602 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:627:19: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 627 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 7; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:545:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 8; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 545 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:543:62: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 543 | if (supp<=SUPP/2) return interpolation_helper(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:318:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1433:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 1433 | if (si1) si1->interp(cmav,1>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = float; Tcoord = double; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:102:37: required from here 102 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 103 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:602:21: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 602 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:627:19: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 627 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 14; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:545:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 545 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:545:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:318:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1433:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 1433 | if (si1) si1->interp(cmav,1>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = float; Tcoord = double; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:102:37: required from here 102 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 103 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:602:21: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 602 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:627:19: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 627 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 16; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:426:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep_for_index(std::array) [with long unsigned int supp = 16; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 426 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:591:33: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 591 | hlp.prep_for_index(index[k]); | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:318:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1433:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 1433 | if (si1) si1->interp(cmav,1>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = float; Tcoord = double; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:102:37: required from here 102 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 103 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:407:19: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&)’ is ambiguous 407 | { bufr(iu) = grid(idxu).real(); bufi(iu) = grid(idxu).imag(); } | ~~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int}; T = float; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int}; T = float; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:407:49: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&)’ is ambiguous 407 | { bufr(iu) = grid(idxu).real(); bufi(iu) = grid(idxu).imag(); } | ~~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int}; T = float; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int}; T = float; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 4; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:893:62: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 8; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 893 | if (supp<=SUPP/2) return interpolation_helper(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:893:62: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:653:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1434:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 1434 | if (si2) si2->interp(cmav,2>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = float; Tcoord = double; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:102:37: required from here 102 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 103 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:951:17: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 951 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 7; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:895:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 8; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 895 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:893:62: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 893 | if (supp<=SUPP/2) return interpolation_helper(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:653:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1434:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 1434 | if (si2) si2->interp(cmav,2>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = float; Tcoord = double; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:102:37: required from here 102 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 103 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:951:17: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 951 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 14; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:895:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 895 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:895:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:653:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1434:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 1434 | if (si2) si2->interp(cmav,2>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = float; Tcoord = double; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:102:37: required from here 102 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 103 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:951:17: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 951 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 16; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:799:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep(std::array) [with long unsigned int supp = 16; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 799 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:919:28: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 919 | sorted ? hlp.prep({coords(ix,0), coords(ix,1)}) | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:653:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1434:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 1434 | if (si2) si2->interp(cmav,2>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = float; Tcoord = double; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:102:37: required from here 102 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 103 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:762:20: error: call of ‘(ducc0::detail_mav::vmav) (int64_t, int64_t&)’ is ambiguous 762 | bufri(2*iu ,iv) = grid(idxu, idxv).real(); | ~~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:763:20: error: call of ‘(ducc0::detail_mav::vmav) (int64_t, int64_t&)’ is ambiguous 763 | bufri(2*iu+1,iv) = grid(idxu, idxv).imag(); | ~~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 4; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:1272:62: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 8; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 1272 | if (supp<=SUPP/2) return interpolation_helper(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1272:62: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:979:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1435:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 1435 | if (si3) si3->interp(cmav,3>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = float; Tcoord = double; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:102:37: required from here 102 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 103 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1344:17: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 1344 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 7; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:1274:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 8; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 1274 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1272:62: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 1272 | if (supp<=SUPP/2) return interpolation_helper(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:979:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1435:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 1435 | if (si3) si3->interp(cmav,3>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = float; Tcoord = double; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:102:37: required from here 102 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 103 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1344:17: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 1344 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 14; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:1274:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 1274 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1274:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:979:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1435:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 1435 | if (si3) si3->interp(cmav,3>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = float; Tcoord = double; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:102:37: required from here 102 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 103 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1344:17: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 1344 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 16; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:1171:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep(std::array) [with long unsigned int supp = 16; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 1171 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:1300:28: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 1300 | sorted ? hlp.prep({coords(ix,0), coords(ix,1), coords(ix,2)}) | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:979:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1435:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 1435 | if (si3) si3->interp(cmav,3>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = float; Tcoord = double; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:102:37: required from here 102 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 103 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1130:22: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&, int64_t, int64_t&)’ is ambiguous 1130 | bufri(iu,2*iv,iw) = grid(idxu, idxv, idxw).real(); | ~~~~~^~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1131:22: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&, int64_t, int64_t&)’ is ambiguous 1131 | bufri(iu,2*iv+1,iw) = grid(idxu, idxv, idxw).imag(); | ~~~~~^~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 4; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:543:62: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 8; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 543 | if (supp<=SUPP/2) return interpolation_helper(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:543:62: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:318:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1433:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 1433 | if (si1) si1->interp(cmav,1>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = double; Tcoord = float; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:108:37: required from here 108 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 109 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:602:21: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 602 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:627:19: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 627 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 7; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:545:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 8; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 545 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:543:62: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 543 | if (supp<=SUPP/2) return interpolation_helper(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:318:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1433:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 1433 | if (si1) si1->interp(cmav,1>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = double; Tcoord = float; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:108:37: required from here 108 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 109 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:602:21: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 602 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:627:19: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 627 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 14; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:545:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 545 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:545:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:318:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1433:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 1433 | if (si1) si1->interp(cmav,1>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = double; Tcoord = float; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:108:37: required from here 108 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 109 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:602:21: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 602 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:627:19: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 627 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 16; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:426:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep_for_index(std::array) [with long unsigned int supp = 16; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 426 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:591:33: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 591 | hlp.prep_for_index(index[k]); | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:318:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1433:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 1433 | if (si1) si1->interp(cmav,1>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = double; Tcoord = float; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:108:37: required from here 108 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 109 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:407:19: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&)’ is ambiguous 407 | { bufr(iu) = grid(idxu).real(); bufi(iu) = grid(idxu).imag(); } | ~~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:407:49: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&)’ is ambiguous 407 | { bufr(iu) = grid(idxu).real(); bufi(iu) = grid(idxu).imag(); } | ~~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 4; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:893:62: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 8; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 893 | if (supp<=SUPP/2) return interpolation_helper(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:893:62: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:653:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1434:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 1434 | if (si2) si2->interp(cmav,2>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = double; Tcoord = float; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:108:37: required from here 108 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 109 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:951:17: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 951 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 7; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:895:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 8; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 895 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:893:62: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 893 | if (supp<=SUPP/2) return interpolation_helper(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:653:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1434:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 1434 | if (si2) si2->interp(cmav,2>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = double; Tcoord = float; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:108:37: required from here 108 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 109 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:951:17: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 951 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 14; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:895:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 895 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:895:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:653:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1434:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 1434 | if (si2) si2->interp(cmav,2>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = double; Tcoord = float; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:108:37: required from here 108 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 109 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:951:17: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 951 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 16; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:799:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep(std::array) [with long unsigned int supp = 16; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 799 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:919:28: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 919 | sorted ? hlp.prep({coords(ix,0), coords(ix,1)}) | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:653:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1434:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 1434 | if (si2) si2->interp(cmav,2>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = double; Tcoord = float; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:108:37: required from here 108 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 109 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:762:20: error: call of ‘(ducc0::detail_mav::vmav) (int64_t, int64_t&)’ is ambiguous 762 | bufri(2*iu ,iv) = grid(idxu, idxv).real(); | ~~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:763:20: error: call of ‘(ducc0::detail_mav::vmav) (int64_t, int64_t&)’ is ambiguous 763 | bufri(2*iu+1,iv) = grid(idxu, idxv).imag(); | ~~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 4; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:1272:62: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 8; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 1272 | if (supp<=SUPP/2) return interpolation_helper(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1272:62: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:979:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1435:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 1435 | if (si3) si3->interp(cmav,3>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = double; Tcoord = float; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:108:37: required from here 108 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 109 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1344:17: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 1344 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 7; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:1274:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 8; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 1274 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1272:62: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 1272 | if (supp<=SUPP/2) return interpolation_helper(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:979:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1435:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 1435 | if (si3) si3->interp(cmav,3>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = double; Tcoord = float; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:108:37: required from here 108 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 109 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1344:17: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 1344 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 14; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:1274:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 1274 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1274:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:979:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1435:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 1435 | if (si3) si3->interp(cmav,3>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = double; Tcoord = float; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:108:37: required from here 108 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 109 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1344:17: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 1344 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 16; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:1171:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep(std::array) [with long unsigned int supp = 16; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 1171 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:1300:28: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 1300 | sorted ? hlp.prep({coords(ix,0), coords(ix,1), coords(ix,2)}) | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:979:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1435:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 1435 | if (si3) si3->interp(cmav,3>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = double; Tcoord = float; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:108:37: required from here 108 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 109 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1130:22: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&, int64_t, int64_t&)’ is ambiguous 1130 | bufri(iu,2*iv,iw) = grid(idxu, idxv, idxw).real(); | ~~~~~^~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1131:22: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&, int64_t, int64_t&)’ is ambiguous 1131 | bufri(iu,2*iv+1,iw) = grid(idxu, idxv, idxw).imag(); | ~~~~~^~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 6; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:545:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 7; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 545 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:545:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 8; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:543:62: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 543 | if (supp<=SUPP/2) return interpolation_helper(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:318:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1449:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 1449 | if (si1) si1->interp(cmav,1>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = double]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:500:35: required from here 500 | if (pd) return do_get_points(pd, coord, values, gridd); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:602:21: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 602 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:627:19: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 627 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 8; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:426:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep_for_index(std::array) [with long unsigned int supp = 8; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 426 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:591:33: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 8; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 591 | hlp.prep_for_index(index[k]); | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:543:62: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 543 | if (supp<=SUPP/2) return interpolation_helper(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:318:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1449:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 1449 | if (si1) si1->interp(cmav,1>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = double]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:500:35: required from here 500 | if (pd) return do_get_points(pd, coord, values, gridd); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:407:19: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&)’ is ambiguous 407 | { bufr(iu) = grid(idxu).real(); bufi(iu) = grid(idxu).imag(); } | ~~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:407:49: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&)’ is ambiguous 407 | { bufr(iu) = grid(idxu).real(); bufi(iu) = grid(idxu).imag(); } | ~~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 13; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:545:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 545 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:545:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:318:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1449:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 1449 | if (si1) si1->interp(cmav,1>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = double]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:500:35: required from here 500 | if (pd) return do_get_points(pd, coord, values, gridd); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:602:21: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 602 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:627:19: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 627 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 15; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:426:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep_for_index(std::array) [with long unsigned int supp = 15; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 426 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:591:33: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 591 | hlp.prep_for_index(index[k]); | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:545:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 545 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:318:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1449:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 1449 | if (si1) si1->interp(cmav,1>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = double]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:500:35: required from here 500 | if (pd) return do_get_points(pd, coord, values, gridd); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:407:19: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&)’ is ambiguous 407 | { bufr(iu) = grid(idxu).real(); bufi(iu) = grid(idxu).imag(); } | ~~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:407:49: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&)’ is ambiguous 407 | { bufr(iu) = grid(idxu).real(); bufi(iu) = grid(idxu).imag(); } | ~~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 6; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:895:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 7; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 895 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:895:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 8; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:893:62: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 893 | if (supp<=SUPP/2) return interpolation_helper(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:653:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1450:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 1450 | if (si2) si2->interp(cmav,2>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = double]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:500:35: required from here 500 | if (pd) return do_get_points(pd, coord, values, gridd); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:951:17: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 951 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 8; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:799:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep(std::array) [with long unsigned int supp = 8; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 799 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:919:28: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 8; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 919 | sorted ? hlp.prep({coords(ix,0), coords(ix,1)}) | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:893:62: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 893 | if (supp<=SUPP/2) return interpolation_helper(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:653:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1450:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 1450 | if (si2) si2->interp(cmav,2>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = double]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:500:35: required from here 500 | if (pd) return do_get_points(pd, coord, values, gridd); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:762:20: error: call of ‘(ducc0::detail_mav::vmav) (int64_t, int64_t&)’ is ambiguous 762 | bufri(2*iu ,iv) = grid(idxu, idxv).real(); | ~~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:763:20: error: call of ‘(ducc0::detail_mav::vmav) (int64_t, int64_t&)’ is ambiguous 763 | bufri(2*iu+1,iv) = grid(idxu, idxv).imag(); | ~~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 13; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:895:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 895 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:895:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:653:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1450:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 1450 | if (si2) si2->interp(cmav,2>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = double]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:500:35: required from here 500 | if (pd) return do_get_points(pd, coord, values, gridd); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:951:17: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 951 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 15; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:799:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep(std::array) [with long unsigned int supp = 15; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 799 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:919:28: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 919 | sorted ? hlp.prep({coords(ix,0), coords(ix,1)}) | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:895:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 895 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:653:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1450:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 1450 | if (si2) si2->interp(cmav,2>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = double]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:500:35: required from here 500 | if (pd) return do_get_points(pd, coord, values, gridd); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:762:20: error: call of ‘(ducc0::detail_mav::vmav) (int64_t, int64_t&)’ is ambiguous 762 | bufri(2*iu ,iv) = grid(idxu, idxv).real(); | ~~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:763:20: error: call of ‘(ducc0::detail_mav::vmav) (int64_t, int64_t&)’ is ambiguous 763 | bufri(2*iu+1,iv) = grid(idxu, idxv).imag(); | ~~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 6; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:1274:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 7; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 1274 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1274:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 8; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:1272:62: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 1272 | if (supp<=SUPP/2) return interpolation_helper(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:979:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1451:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 1451 | if (si3) si3->interp(cmav,3>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = double]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:500:35: required from here 500 | if (pd) return do_get_points(pd, coord, values, gridd); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1344:17: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 1344 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 8; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:1171:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep(std::array) [with long unsigned int supp = 8; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 1171 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:1300:28: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 8; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 1300 | sorted ? hlp.prep({coords(ix,0), coords(ix,1), coords(ix,2)}) | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1272:62: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 1272 | if (supp<=SUPP/2) return interpolation_helper(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:979:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1451:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 1451 | if (si3) si3->interp(cmav,3>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = double]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:500:35: required from here 500 | if (pd) return do_get_points(pd, coord, values, gridd); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1130:22: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&, int64_t, int64_t&)’ is ambiguous 1130 | bufri(iu,2*iv,iw) = grid(idxu, idxv, idxw).real(); | ~~~~~^~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1131:22: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&, int64_t, int64_t&)’ is ambiguous 1131 | bufri(iu,2*iv+1,iw) = grid(idxu, idxv, idxw).imag(); | ~~~~~^~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 13; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:1274:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 1274 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1274:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:979:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1451:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 1451 | if (si3) si3->interp(cmav,3>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = double]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:500:35: required from here 500 | if (pd) return do_get_points(pd, coord, values, gridd); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1344:17: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 1344 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 15; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:1171:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep(std::array) [with long unsigned int supp = 15; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 1171 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:1300:28: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 1300 | sorted ? hlp.prep({coords(ix,0), coords(ix,1), coords(ix,2)}) | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1274:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 1274 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:979:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1451:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 1451 | if (si3) si3->interp(cmav,3>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = double]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:500:35: required from here 500 | if (pd) return do_get_points(pd, coord, values, gridd); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1130:22: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&, int64_t, int64_t&)’ is ambiguous 1130 | bufri(iu,2*iv,iw) = grid(idxu, idxv, idxw).real(); | ~~~~~^~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1131:22: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&, int64_t, int64_t&)’ is ambiguous 1131 | bufri(iu,2*iv+1,iw) = grid(idxu, idxv, idxw).imag(); | ~~~~~^~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 6; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:545:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 7; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 545 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:545:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 8; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:543:62: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 543 | if (supp<=SUPP/2) return interpolation_helper(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:318:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1449:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 1449 | if (si1) si1->interp(cmav,1>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = float]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:501:35: required from here 501 | if (pf) return do_get_points(pf, coord, values, gridf); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:602:21: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 602 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:627:19: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 627 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 8; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:426:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep_for_index(std::array) [with long unsigned int supp = 8; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 426 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:591:33: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 8; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 591 | hlp.prep_for_index(index[k]); | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:543:62: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 543 | if (supp<=SUPP/2) return interpolation_helper(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:318:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1449:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 1449 | if (si1) si1->interp(cmav,1>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = float]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:501:35: required from here 501 | if (pf) return do_get_points(pf, coord, values, gridf); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:407:19: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&)’ is ambiguous 407 | { bufr(iu) = grid(idxu).real(); bufi(iu) = grid(idxu).imag(); } | ~~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int}; T = float; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int}; T = float; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:407:49: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&)’ is ambiguous 407 | { bufr(iu) = grid(idxu).real(); bufi(iu) = grid(idxu).imag(); } | ~~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int}; T = float; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int}; T = float; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 13; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:545:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 545 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:545:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:318:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1449:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 1449 | if (si1) si1->interp(cmav,1>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = float]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:501:35: required from here 501 | if (pf) return do_get_points(pf, coord, values, gridf); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:602:21: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 602 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:627:19: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 627 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 15; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:426:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep_for_index(std::array) [with long unsigned int supp = 15; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 426 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:591:33: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 591 | hlp.prep_for_index(index[k]); | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:545:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 545 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:318:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1449:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 1449 | if (si1) si1->interp(cmav,1>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = float]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:501:35: required from here 501 | if (pf) return do_get_points(pf, coord, values, gridf); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:407:19: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&)’ is ambiguous 407 | { bufr(iu) = grid(idxu).real(); bufi(iu) = grid(idxu).imag(); } | ~~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int}; T = float; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int}; T = float; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:407:49: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&)’ is ambiguous 407 | { bufr(iu) = grid(idxu).real(); bufi(iu) = grid(idxu).imag(); } | ~~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int}; T = float; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int}; T = float; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 6; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:895:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 7; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 895 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:895:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 8; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:893:62: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 893 | if (supp<=SUPP/2) return interpolation_helper(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:653:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1450:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 1450 | if (si2) si2->interp(cmav,2>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = float]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:501:35: required from here 501 | if (pf) return do_get_points(pf, coord, values, gridf); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:951:17: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 951 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 8; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:799:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep(std::array) [with long unsigned int supp = 8; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 799 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:919:28: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 8; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 919 | sorted ? hlp.prep({coords(ix,0), coords(ix,1)}) | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:893:62: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 893 | if (supp<=SUPP/2) return interpolation_helper(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:653:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1450:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 1450 | if (si2) si2->interp(cmav,2>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = float]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:501:35: required from here 501 | if (pf) return do_get_points(pf, coord, values, gridf); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:762:20: error: call of ‘(ducc0::detail_mav::vmav) (int64_t, int64_t&)’ is ambiguous 762 | bufri(2*iu ,iv) = grid(idxu, idxv).real(); | ~~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:763:20: error: call of ‘(ducc0::detail_mav::vmav) (int64_t, int64_t&)’ is ambiguous 763 | bufri(2*iu+1,iv) = grid(idxu, idxv).imag(); | ~~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 13; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:895:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 895 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:895:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:653:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1450:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 1450 | if (si2) si2->interp(cmav,2>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = float]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:501:35: required from here 501 | if (pf) return do_get_points(pf, coord, values, gridf); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:951:17: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 951 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 15; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:799:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep(std::array) [with long unsigned int supp = 15; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 799 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:919:28: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 919 | sorted ? hlp.prep({coords(ix,0), coords(ix,1)}) | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:895:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 895 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:653:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1450:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 1450 | if (si2) si2->interp(cmav,2>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = float]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:501:35: required from here 501 | if (pf) return do_get_points(pf, coord, values, gridf); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:762:20: error: call of ‘(ducc0::detail_mav::vmav) (int64_t, int64_t&)’ is ambiguous 762 | bufri(2*iu ,iv) = grid(idxu, idxv).real(); | ~~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:763:20: error: call of ‘(ducc0::detail_mav::vmav) (int64_t, int64_t&)’ is ambiguous 763 | bufri(2*iu+1,iv) = grid(idxu, idxv).imag(); | ~~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 6; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:1274:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 7; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 1274 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1274:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 8; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:1272:62: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 1272 | if (supp<=SUPP/2) return interpolation_helper(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:979:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1451:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 1451 | if (si3) si3->interp(cmav,3>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = float]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:501:35: required from here 501 | if (pf) return do_get_points(pf, coord, values, gridf); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1344:17: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 1344 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 8; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:1171:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep(std::array) [with long unsigned int supp = 8; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 1171 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:1300:28: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 8; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 1300 | sorted ? hlp.prep({coords(ix,0), coords(ix,1), coords(ix,2)}) | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1272:62: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 1272 | if (supp<=SUPP/2) return interpolation_helper(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:979:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1451:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 1451 | if (si3) si3->interp(cmav,3>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = float]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:501:35: required from here 501 | if (pf) return do_get_points(pf, coord, values, gridf); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1130:22: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&, int64_t, int64_t&)’ is ambiguous 1130 | bufri(iu,2*iv,iw) = grid(idxu, idxv, idxw).real(); | ~~~~~^~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1131:22: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&, int64_t, int64_t&)’ is ambiguous 1131 | bufri(iu,2*iv+1,iw) = grid(idxu, idxv, idxw).imag(); | ~~~~~^~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 13; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:1274:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 1274 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1274:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:979:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1451:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 1451 | if (si3) si3->interp(cmav,3>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = float]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:501:35: required from here 501 | if (pf) return do_get_points(pf, coord, values, gridf); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1344:17: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 1344 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 15; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:1171:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep(std::array) [with long unsigned int supp = 15; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 1171 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:1300:28: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 1300 | sorted ? hlp.prep({coords(ix,0), coords(ix,1), coords(ix,2)}) | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1274:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 1274 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:979:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1451:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 1451 | if (si3) si3->interp(cmav,3>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = float]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:501:35: required from here 501 | if (pf) return do_get_points(pf, coord, values, gridf); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1130:22: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&, int64_t, int64_t&)’ is ambiguous 1130 | bufri(iu,2*iv,iw) = grid(idxu, idxv, idxw).real(); | ~~~~~^~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1131:22: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&, int64_t, int64_t&)’ is ambiguous 1131 | bufri(iu,2*iv+1,iw) = grid(idxu, idxv, idxw).imag(); | ~~~~~^~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h: In instantiation of ‘void ducc0::detail_sphereinterpol::SphereInterpol::interpolx(size_t, const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with long unsigned int supp = 10; Tloc = double; T = double; size_t = long unsigned int]’: ./src/ducc0/sht/sphere_interpol.h:180:49: recursively required from ‘void ducc0::detail_sphereinterpol::SphereInterpol::interpolx(size_t, const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with long unsigned int supp = 15; Tloc = double; T = double; size_t = long unsigned int]’ 180 | if (supp_(supp_, cube, itheta0, iphi0, theta, phi, signal); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:180:49: required from ‘void ducc0::detail_sphereinterpol::SphereInterpol::interpolx(size_t, const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with long unsigned int supp = 16; Tloc = double; T = double; size_t = long unsigned int]’ ./src/ducc0/sht/sphere_interpol.h:559:25: required from ‘void ducc0::detail_sphereinterpol::SphereInterpol::interpol(const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with Tloc = double; T = double; size_t = long unsigned int]’ 559 | interpolx(kernel->support(), cube, itheta0, iphi0, theta, phi, signal); | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sht.cc:2951:17: required from ‘void ducc0::detail_sht::synthesis_general(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, ptrdiff_t, const ducc0::detail_mav::cmav&, double, double, double, size_t, SHT_mode, bool) [with T = double; Tloc = double; size_t = long unsigned int; ptrdiff_t = long int]’ 2951 | inter.interpol(planes, 0, 0, xtheta, xphi, map); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sht.cc:2963:99: required from here 2963 | double epsilon, double sigma_min, double sigma_max, size_t nthreads, SHT_mode mode, bool verbose); | ^ ./src/ducc0/sht/sphere_interpol.h:242:21: error: call of ‘(const ducc0::detail_mav::vmav) (int, size_t&)’ is ambiguous 242 | signal(0, i) = reduce(tres0, std::plus<>()); | ~~~~~~^~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:243:21: error: call of ‘(const ducc0::detail_mav::vmav) (int, size_t&)’ is ambiguous 243 | signal(1, i) = reduce(tres1, std::plus<>()); | ~~~~~~^~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:269:23: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&)’ is ambiguous 269 | signal(icomp, i) = reduce(tres, std::plus<>()); | ~~~~~~^~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h: In instantiation of ‘void ducc0::detail_sphereinterpol::SphereInterpol::deinterpolx(size_t, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with long unsigned int supp = 10; Tloc = double; T = double; size_t = long unsigned int]’: ./src/ducc0/sht/sphere_interpol.h:282:51: recursively required from ‘void ducc0::detail_sphereinterpol::SphereInterpol::deinterpolx(size_t, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with long unsigned int supp = 15; Tloc = double; T = double; size_t = long unsigned int]’ 282 | if (supp_(supp_, cube, itheta0, iphi0, theta, phi, signal); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:282:51: required from ‘void ducc0::detail_sphereinterpol::SphereInterpol::deinterpolx(size_t, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with long unsigned int supp = 16; Tloc = double; T = double; size_t = long unsigned int]’ ./src/ducc0/sht/sphere_interpol.h:567:27: required from ‘void ducc0::detail_sphereinterpol::SphereInterpol::deinterpol(const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with Tloc = double; T = double; size_t = long unsigned int]’ 567 | deinterpolx(kernel->support(), cube, itheta0, iphi0, theta, phi, signal); | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sht.cc:2988:19: required from ‘void ducc0::detail_sht::adjoint_synthesis_general(const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, ptrdiff_t, const ducc0::detail_mav::cmav&, double, double, double, size_t, SHT_mode, bool) [with T = double; Tloc = double; size_t = long unsigned int; ptrdiff_t = long int]’ 2988 | inter.deinterpol(planes, 0, 0, xtheta, xphi, map); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sht.cc:3001:99: required from here 3001 | double epsilon, double sigma_min, double sigma_max, size_t nthreads, SHT_mode mode, bool verbose); | ^ ./src/ducc0/sht/sphere_interpol.h:357:46: error: call of ‘(const ducc0::detail_mav::vmav) (int, size_t&, size_t&)’ is ambiguous 357 | T * DUCC0_RESTRICT ptr0 = &cube(0,hlp.itheta,hlp.iphi); | ~~~~^~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:358:46: error: call of ‘(const ducc0::detail_mav::vmav) (int, size_t&, size_t&)’ is ambiguous 358 | T * DUCC0_RESTRICT ptr1 = &cube(1,hlp.itheta,hlp.iphi); | ~~~~^~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:393:47: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&, size_t&)’ is ambiguous 393 | T * DUCC0_RESTRICT ptr = &cube(icomp,hlp.itheta,hlp.iphi); | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h: In instantiation of ‘void ducc0::detail_totalconvolve::ConvolverPlan::interpolx(size_t, const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with long unsigned int supp = 10; T = double; size_t = long unsigned int]’: ./src/ducc0/sht/totalconvolve.h:190:49: recursively required from ‘void ducc0::detail_totalconvolve::ConvolverPlan::interpolx(size_t, const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with long unsigned int supp = 15; T = double; size_t = long unsigned int]’ 190 | if (supp_(supp_, cube, itheta0, iphi0, theta, phi, psi, signal); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/totalconvolve.h:190:49: required from ‘void ducc0::detail_totalconvolve::ConvolverPlan::interpolx(size_t, const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with long unsigned int supp = 16; T = double; size_t = long unsigned int]’ ./src/ducc0/sht/totalconvolve.h:547:25: required from ‘void ducc0::detail_totalconvolve::ConvolverPlan::interpol(const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with T = double; size_t = long unsigned int]’ 547 | interpolx(kernel->support(), cube, itheta0, iphi0, theta, phi, psi, signal); | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/totalconvolve_pymod.cc:98:15: required from ‘void ducc0::detail_pymodule_totalconvolve::Py_ConvolverPlan::Py_interpol(const pybind11::array&, size_t, size_t, const pybind11::array&, const pybind11::array&, const pybind11::array&, pybind11::array&) [with T = double; size_t = long unsigned int]’ 98 | interpol(cube, itheta0, iphi0, theta, phi, psi, signal); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/totalconvolve_pymod.cc:799:31: required from here 799 | .def("interpol", &conv_d::Py_interpol, Py_ConvolverPlan_interpol_DS, | ^~~~~~~~~~~ ./src/ducc0/sht/totalconvolve.h:249:17: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&)’ is ambiguous 249 | signal(i) = reduce(res, std::plus<>()); | ~~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h: In instantiation of ‘void ducc0::detail_totalconvolve::ConvolverPlan::deinterpolx(size_t, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with long unsigned int supp = 10; T = double; size_t = long unsigned int]’: ./src/ducc0/sht/totalconvolve.h:260:51: recursively required from ‘void ducc0::detail_totalconvolve::ConvolverPlan::deinterpolx(size_t, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with long unsigned int supp = 15; T = double; size_t = long unsigned int]’ 260 | if (supp_(supp_, cube, itheta0, iphi0, theta, phi, psi, signal); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/totalconvolve.h:260:51: required from ‘void ducc0::detail_totalconvolve::ConvolverPlan::deinterpolx(size_t, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with long unsigned int supp = 16; T = double; size_t = long unsigned int]’ ./src/ducc0/sht/totalconvolve.h:555:27: required from ‘void ducc0::detail_totalconvolve::ConvolverPlan::deinterpol(const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with T = double; size_t = long unsigned int]’ 555 | deinterpolx(kernel->support(), cube, itheta0, iphi0, theta, phi, psi, signal); | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/totalconvolve_pymod.cc:112:17: required from ‘void ducc0::detail_pymodule_totalconvolve::Py_ConvolverPlan::Py_deinterpol(pybind11::array&, size_t, size_t, const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::array&) [with T = double; size_t = long unsigned int]’ 112 | deinterpol(cube, itheta0, iphi0, theta, phi, psi, signal); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/totalconvolve_pymod.cc:801:33: required from here 801 | .def("deinterpol", &conv_d::Py_deinterpol, Py_ConvolverPlan_deinterpol_DS, | ^~~~~~~~~~~~~ ./src/ducc0/sht/totalconvolve.h:294:41: error: call of ‘(const ducc0::detail_mav::vmav) (long unsigned int&, size_t&, size_t&)’ is ambiguous 294 | T * DUCC0_RESTRICT ptr = &cube(ipsi,hlp.itheta,hlp.iphi); | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h:352:28: error: call of ‘(const ducc0::detail_mav::vmav) (long unsigned int&, size_t&, size_t&)’ is ambiguous 352 | ptr = &cube(ipsi,hlp.itheta,hlp.iphi); | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::HelperX2g2::dump() [with long unsigned int supp = 8; bool wgrid = true; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:997:25: required from ‘ducc0::detail_gridder::Wgridder::HelperX2g2::~HelperX2g2() [with long unsigned int supp = 8; bool wgrid = true; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 997 | ~HelperX2g2() { dump(); } | ^~~~ ./src/ducc0/wgridder/wgridder.h:1152:32: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 8; bool wgrid = true; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1152 | HelperX2g2 hlp(this, grid, locks, w0, dw); | ^~~ ./src/ducc0/wgridder/wgridder.h:1141:64: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 16; bool wgrid = true; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1141 | if (supp<=SUPP/2) return x2grid_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1238:38: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c(const ducc0::detail_mav::vmav, 2>&, size_t, double) [with bool wgrid = true; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1238 | x2grid_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1439:25: required from ‘void ducc0::detail_gridder::Wgridder::x2dirty() [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1439 | x2grid_c(grid, pl, w); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:18: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = float; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = float; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:208:32: required from here 208 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 209 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 210 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 211 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:965:19: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (int&, int&)’ is ambiguous 965 | grid(idxu,idxv) += complex(Tcalc(bufr(iu,iv)), Tcalc(bufi(iu,iv))); | ~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:965:59: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 965 | grid(idxu,idxv) += complex(Tcalc(bufr(iu,iv)), Tcalc(bufi(iu,iv))); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:966:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 966 | bufr(iu,iv) = bufi(iu,iv) = 0; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:966:33: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 966 | bufr(iu,iv) = bufi(iu,iv) = 0; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::HelperX2g2::dump() [with long unsigned int supp = 15; bool wgrid = true; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:997:25: required from ‘ducc0::detail_gridder::Wgridder::HelperX2g2::~HelperX2g2() [with long unsigned int supp = 15; bool wgrid = true; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 997 | ~HelperX2g2() { dump(); } | ^~~~ ./src/ducc0/wgridder/wgridder.h:1152:32: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 15; bool wgrid = true; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1152 | HelperX2g2 hlp(this, grid, locks, w0, dw); | ^~~ ./src/ducc0/wgridder/wgridder.h:1143:61: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 16; bool wgrid = true; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1143 | if (supp(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1238:38: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c(const ducc0::detail_mav::vmav, 2>&, size_t, double) [with bool wgrid = true; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1238 | x2grid_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1439:25: required from ‘void ducc0::detail_gridder::Wgridder::x2dirty() [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1439 | x2grid_c(grid, pl, w); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:18: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = float; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = float; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:208:32: required from here 208 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 209 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 210 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 211 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:965:19: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (int&, int&)’ is ambiguous 965 | grid(idxu,idxv) += complex(Tcalc(bufr(iu,iv)), Tcalc(bufi(iu,iv))); | ~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:965:59: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 965 | grid(idxu,idxv) += complex(Tcalc(bufr(iu,iv)), Tcalc(bufi(iu,iv))); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:966:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 966 | bufr(iu,iv) = bufi(iu,iv) = 0; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:966:33: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 966 | bufr(iu,iv) = bufi(iu,iv) = 0; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::HelperX2g2::dump() [with long unsigned int supp = 8; bool wgrid = false; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:997:25: required from ‘ducc0::detail_gridder::Wgridder::HelperX2g2::~HelperX2g2() [with long unsigned int supp = 8; bool wgrid = false; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 997 | ~HelperX2g2() { dump(); } | ^~~~ ./src/ducc0/wgridder/wgridder.h:1152:32: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 8; bool wgrid = false; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1152 | HelperX2g2 hlp(this, grid, locks, w0, dw); | ^~~ ./src/ducc0/wgridder/wgridder.h:1141:64: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 16; bool wgrid = false; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1141 | if (supp<=SUPP/2) return x2grid_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1238:38: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c(const ducc0::detail_mav::vmav, 2>&, size_t, double) [with bool wgrid = false; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1238 | x2grid_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1451:24: required from ‘void ducc0::detail_gridder::Wgridder::x2dirty() [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1451 | x2grid_c(grid, 0); | ~~~~~~~~~~~~~~~^~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:18: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = float; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = float; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:208:32: required from here 208 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 209 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 210 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 211 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:965:19: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (int&, int&)’ is ambiguous 965 | grid(idxu,idxv) += complex(Tcalc(bufr(iu,iv)), Tcalc(bufi(iu,iv))); | ~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:965:59: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 965 | grid(idxu,idxv) += complex(Tcalc(bufr(iu,iv)), Tcalc(bufi(iu,iv))); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:966:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 966 | bufr(iu,iv) = bufi(iu,iv) = 0; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:966:33: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 966 | bufr(iu,iv) = bufi(iu,iv) = 0; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::HelperX2g2::dump() [with long unsigned int supp = 15; bool wgrid = false; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:997:25: required from ‘ducc0::detail_gridder::Wgridder::HelperX2g2::~HelperX2g2() [with long unsigned int supp = 15; bool wgrid = false; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 997 | ~HelperX2g2() { dump(); } | ^~~~ ./src/ducc0/wgridder/wgridder.h:1152:32: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 15; bool wgrid = false; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1152 | HelperX2g2 hlp(this, grid, locks, w0, dw); | ^~~ ./src/ducc0/wgridder/wgridder.h:1143:61: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 16; bool wgrid = false; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1143 | if (supp(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1238:38: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c(const ducc0::detail_mav::vmav, 2>&, size_t, double) [with bool wgrid = false; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1238 | x2grid_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1451:24: required from ‘void ducc0::detail_gridder::Wgridder::x2dirty() [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1451 | x2grid_c(grid, 0); | ~~~~~~~~~~~~~~~^~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:18: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = float; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = float; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:208:32: required from here 208 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 209 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 210 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 211 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:965:19: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (int&, int&)’ is ambiguous 965 | grid(idxu,idxv) += complex(Tcalc(bufr(iu,iv)), Tcalc(bufi(iu,iv))); | ~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:965:59: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 965 | grid(idxu,idxv) += complex(Tcalc(bufr(iu,iv)), Tcalc(bufi(iu,iv))); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:966:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 966 | bufr(iu,iv) = bufi(iu,iv) = 0; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:966:33: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 966 | bufr(iu,iv) = bufi(iu,iv) = 0; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::HelperG2x2::load() [with long unsigned int supp = 4; bool wgrid = true; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:1113:13: required from ‘void ducc0::detail_gridder::Wgridder::HelperG2x2::prep(const ducc0::detail_gridder::UVW&, size_t) [with long unsigned int supp = 4; bool wgrid = true; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1113 | load(); | ^~~~ ./src/ducc0/wgridder/wgridder.h:1290:25: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 4; bool wgrid = true; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1290 | hlp.prep(coord, nth); | ~~~~~~~~^~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1245:64: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 8; bool wgrid = true; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1245 | if (supp<=SUPP/2) return grid2x_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1340:38: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c(const ducc0::detail_mav::cmav, 2>&, size_t, double) [with bool wgrid = true; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1340 | grid2x_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1479:25: required from ‘void ducc0::detail_gridder::Wgridder::dirty2x() [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1479 | grid2x_c(grid, pl, w); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:30: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = float; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = float; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:208:32: required from here 208 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 209 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 210 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 211 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1062:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 1062 | bufr(iu,iv) = grid(idxu, idxv).real(); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1063:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 1063 | bufi(iu,iv) = grid(idxu, idxv).imag(); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 5; bool wgrid = true; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’: ./src/ducc0/wgridder/wgridder.h:1247:61: recursively required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 7; bool wgrid = true; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1247 | if (supp(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1247:61: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 8; bool wgrid = true; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ ./src/ducc0/wgridder/wgridder.h:1340:38: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c(const ducc0::detail_mav::cmav, 2>&, size_t, double) [with bool wgrid = true; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1340 | grid2x_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1479:25: required from ‘void ducc0::detail_gridder::Wgridder::dirty2x() [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1479 | grid2x_c(grid, pl, w); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:30: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = float; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = float; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:208:32: required from here 208 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 209 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 210 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 211 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1322:45: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 1322 | if (!firstplane) r += ms_out(row, ch); | ~~~~~~^~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1327:23: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 1327 | ms_out(row, ch) = r; | ~~~~~~^~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::HelperG2x2::load() [with long unsigned int supp = 7; bool wgrid = true; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:1113:13: required from ‘void ducc0::detail_gridder::Wgridder::HelperG2x2::prep(const ducc0::detail_gridder::UVW&, size_t) [with long unsigned int supp = 7; bool wgrid = true; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1113 | load(); | ^~~~ ./src/ducc0/wgridder/wgridder.h:1290:25: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 7; bool wgrid = true; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1290 | hlp.prep(coord, nth); | ~~~~~~~~^~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1247:61: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 8; bool wgrid = true; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1247 | if (supp(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1340:38: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c(const ducc0::detail_mav::cmav, 2>&, size_t, double) [with bool wgrid = true; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1340 | grid2x_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1479:25: required from ‘void ducc0::detail_gridder::Wgridder::dirty2x() [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1479 | grid2x_c(grid, pl, w); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:30: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = float; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = float; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:208:32: required from here 208 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 209 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 210 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 211 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1062:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 1062 | bufr(iu,iv) = grid(idxu, idxv).real(); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1063:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 1063 | bufi(iu,iv) = grid(idxu, idxv).imag(); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::HelperG2x2::load() [with long unsigned int supp = 4; bool wgrid = false; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:1113:13: required from ‘void ducc0::detail_gridder::Wgridder::HelperG2x2::prep(const ducc0::detail_gridder::UVW&, size_t) [with long unsigned int supp = 4; bool wgrid = false; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1113 | load(); | ^~~~ ./src/ducc0/wgridder/wgridder.h:1290:25: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 4; bool wgrid = false; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1290 | hlp.prep(coord, nth); | ~~~~~~~~^~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1245:64: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 8; bool wgrid = false; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1245 | if (supp<=SUPP/2) return grid2x_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1340:38: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c(const ducc0::detail_mav::cmav, 2>&, size_t, double) [with bool wgrid = false; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1340 | grid2x_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1494:24: required from ‘void ducc0::detail_gridder::Wgridder::dirty2x() [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1494 | grid2x_c(grid, 0); | ~~~~~~~~~~~~~~~^~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:30: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = float; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = float; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:208:32: required from here 208 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 209 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 210 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 211 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1062:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 1062 | bufr(iu,iv) = grid(idxu, idxv).real(); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1063:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 1063 | bufi(iu,iv) = grid(idxu, idxv).imag(); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 5; bool wgrid = false; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’: ./src/ducc0/wgridder/wgridder.h:1247:61: recursively required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 7; bool wgrid = false; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1247 | if (supp(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1247:61: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 8; bool wgrid = false; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ ./src/ducc0/wgridder/wgridder.h:1340:38: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c(const ducc0::detail_mav::cmav, 2>&, size_t, double) [with bool wgrid = false; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1340 | grid2x_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1494:24: required from ‘void ducc0::detail_gridder::Wgridder::dirty2x() [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1494 | grid2x_c(grid, 0); | ~~~~~~~~~~~~~~~^~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:30: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = float; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = float; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:208:32: required from here 208 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 209 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 210 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 211 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1322:45: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 1322 | if (!firstplane) r += ms_out(row, ch); | ~~~~~~^~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1327:23: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 1327 | ms_out(row, ch) = r; | ~~~~~~^~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::HelperG2x2::load() [with long unsigned int supp = 7; bool wgrid = false; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:1113:13: required from ‘void ducc0::detail_gridder::Wgridder::HelperG2x2::prep(const ducc0::detail_gridder::UVW&, size_t) [with long unsigned int supp = 7; bool wgrid = false; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1113 | load(); | ^~~~ ./src/ducc0/wgridder/wgridder.h:1290:25: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 7; bool wgrid = false; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1290 | hlp.prep(coord, nth); | ~~~~~~~~^~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1247:61: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 8; bool wgrid = false; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1247 | if (supp(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1340:38: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c(const ducc0::detail_mav::cmav, 2>&, size_t, double) [with bool wgrid = false; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1340 | grid2x_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1494:24: required from ‘void ducc0::detail_gridder::Wgridder::dirty2x() [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1494 | grid2x_c(grid, 0); | ~~~~~~~~~~~~~~~^~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:30: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = float; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = float; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:208:32: required from here 208 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 209 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 210 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 211 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1062:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 1062 | bufr(iu,iv) = grid(idxu, idxv).real(); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1063:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 1063 | bufi(iu,iv) = grid(idxu, idxv).imag(); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::HelperX2g2::dump() [with long unsigned int supp = 4; bool wgrid = true; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:997:25: required from ‘ducc0::detail_gridder::Wgridder::HelperX2g2::~HelperX2g2() [with long unsigned int supp = 4; bool wgrid = true; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 997 | ~HelperX2g2() { dump(); } | ^~~~ ./src/ducc0/wgridder/wgridder.h:1152:32: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 4; bool wgrid = true; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1152 | HelperX2g2 hlp(this, grid, locks, w0, dw); | ^~~ ./src/ducc0/wgridder/wgridder.h:1141:64: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 8; bool wgrid = true; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1141 | if (supp<=SUPP/2) return x2grid_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1238:38: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c(const ducc0::detail_mav::vmav, 2>&, size_t, double) [with bool wgrid = true; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1238 | x2grid_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1439:25: required from ‘void ducc0::detail_gridder::Wgridder::x2dirty() [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1439 | x2grid_c(grid, pl, w); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:18: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = float; Tms = float; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = float; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:192:20: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = float; size_t = long unsigned int]’ 192 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 193 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 194 | sigma_max, center_x, center_y, allow_nshift); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:208:32: required from here 208 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 209 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 210 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 211 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:965:19: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (int&, int&)’ is ambiguous 965 | grid(idxu,idxv) += complex(Tcalc(bufr(iu,iv)), Tcalc(bufi(iu,iv))); | ~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:965:59: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 965 | grid(idxu,idxv) += complex(Tcalc(bufr(iu,iv)), Tcalc(bufi(iu,iv))); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:966:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 966 | bufr(iu,iv) = bufi(iu,iv) = 0; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:966:33: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 966 | bufr(iu,iv) = bufi(iu,iv) = 0; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::HelperX2g2::dump() [with long unsigned int supp = 7; bool wgrid = true; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:997:25: required from ‘ducc0::detail_gridder::Wgridder::HelperX2g2::~HelperX2g2() [with long unsigned int supp = 7; bool wgrid = true; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 997 | ~HelperX2g2() { dump(); } | ^~~~ ./src/ducc0/wgridder/wgridder.h:1152:32: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 7; bool wgrid = true; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1152 | HelperX2g2 hlp(this, grid, locks, w0, dw); | ^~~ ./src/ducc0/wgridder/wgridder.h:1143:61: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 8; bool wgrid = true; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1143 | if (supp(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1238:38: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c(const ducc0::detail_mav::vmav, 2>&, size_t, double) [with bool wgrid = true; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1238 | x2grid_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1439:25: required from ‘void ducc0::detail_gridder::Wgridder::x2dirty() [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1439 | x2grid_c(grid, pl, w); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:18: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = float; Tms = float; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = float; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:192:20: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = float; size_t = long unsigned int]’ 192 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 193 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 194 | sigma_max, center_x, center_y, allow_nshift); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:208:32: required from here 208 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 209 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 210 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 211 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:965:19: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (int&, int&)’ is ambiguous 965 | grid(idxu,idxv) += complex(Tcalc(bufr(iu,iv)), Tcalc(bufi(iu,iv))); | ~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:965:59: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 965 | grid(idxu,idxv) += complex(Tcalc(bufr(iu,iv)), Tcalc(bufi(iu,iv))); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:966:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 966 | bufr(iu,iv) = bufi(iu,iv) = 0; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:966:33: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 966 | bufr(iu,iv) = bufi(iu,iv) = 0; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::HelperX2g2::dump() [with long unsigned int supp = 4; bool wgrid = false; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:997:25: required from ‘ducc0::detail_gridder::Wgridder::HelperX2g2::~HelperX2g2() [with long unsigned int supp = 4; bool wgrid = false; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 997 | ~HelperX2g2() { dump(); } | ^~~~ ./src/ducc0/wgridder/wgridder.h:1152:32: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 4; bool wgrid = false; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1152 | HelperX2g2 hlp(this, grid, locks, w0, dw); | ^~~ ./src/ducc0/wgridder/wgridder.h:1141:64: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 8; bool wgrid = false; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1141 | if (supp<=SUPP/2) return x2grid_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1238:38: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c(const ducc0::detail_mav::vmav, 2>&, size_t, double) [with bool wgrid = false; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1238 | x2grid_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1451:24: required from ‘void ducc0::detail_gridder::Wgridder::x2dirty() [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1451 | x2grid_c(grid, 0); | ~~~~~~~~~~~~~~~^~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:18: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = float; Tms = float; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = float; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:192:20: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = float; size_t = long unsigned int]’ 192 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 193 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 194 | sigma_max, center_x, center_y, allow_nshift); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:208:32: required from here 208 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 209 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 210 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 211 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:965:19: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (int&, int&)’ is ambiguous 965 | grid(idxu,idxv) += complex(Tcalc(bufr(iu,iv)), Tcalc(bufi(iu,iv))); | ~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:965:59: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 965 | grid(idxu,idxv) += complex(Tcalc(bufr(iu,iv)), Tcalc(bufi(iu,iv))); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:966:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 966 | bufr(iu,iv) = bufi(iu,iv) = 0; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:966:33: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 966 | bufr(iu,iv) = bufi(iu,iv) = 0; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::HelperX2g2::dump() [with long unsigned int supp = 7; bool wgrid = false; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:997:25: required from ‘ducc0::detail_gridder::Wgridder::HelperX2g2::~HelperX2g2() [with long unsigned int supp = 7; bool wgrid = false; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 997 | ~HelperX2g2() { dump(); } | ^~~~ ./src/ducc0/wgridder/wgridder.h:1152:32: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 7; bool wgrid = false; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1152 | HelperX2g2 hlp(this, grid, locks, w0, dw); | ^~~ ./src/ducc0/wgridder/wgridder.h:1143:61: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 8; bool wgrid = false; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1143 | if (supp(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1238:38: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c(const ducc0::detail_mav::vmav, 2>&, size_t, double) [with bool wgrid = false; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1238 | x2grid_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1451:24: required from ‘void ducc0::detail_gridder::Wgridder::x2dirty() [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1451 | x2grid_c(grid, 0); | ~~~~~~~~~~~~~~~^~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:18: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = float; Tms = float; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = float; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:192:20: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = float; size_t = long unsigned int]’ 192 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 193 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 194 | sigma_max, center_x, center_y, allow_nshift); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:208:32: required from here 208 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 209 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 210 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 211 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:965:19: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (int&, int&)’ is ambiguous 965 | grid(idxu,idxv) += complex(Tcalc(bufr(iu,iv)), Tcalc(bufi(iu,iv))); | ~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:965:59: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 965 | grid(idxu,idxv) += complex(Tcalc(bufr(iu,iv)), Tcalc(bufi(iu,iv))); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:966:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 966 | bufr(iu,iv) = bufi(iu,iv) = 0; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:966:33: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 966 | bufr(iu,iv) = bufi(iu,iv) = 0; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::HelperG2x2::load() [with long unsigned int supp = 4; bool wgrid = true; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:1113:13: required from ‘void ducc0::detail_gridder::Wgridder::HelperG2x2::prep(const ducc0::detail_gridder::UVW&, size_t) [with long unsigned int supp = 4; bool wgrid = true; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1113 | load(); | ^~~~ ./src/ducc0/wgridder/wgridder.h:1290:25: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 4; bool wgrid = true; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1290 | hlp.prep(coord, nth); | ~~~~~~~~^~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1245:64: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 8; bool wgrid = true; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1245 | if (supp<=SUPP/2) return grid2x_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1340:38: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c(const ducc0::detail_mav::cmav, 2>&, size_t, double) [with bool wgrid = true; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1340 | grid2x_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1479:25: required from ‘void ducc0::detail_gridder::Wgridder::dirty2x() [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1479 | grid2x_c(grid, pl, w); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:30: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = float; Tms = float; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = float; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:192:20: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = float; size_t = long unsigned int]’ 192 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 193 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 194 | sigma_max, center_x, center_y, allow_nshift); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:208:32: required from here 208 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 209 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 210 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 211 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1062:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 1062 | bufr(iu,iv) = grid(idxu, idxv).real(); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1063:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 1063 | bufi(iu,iv) = grid(idxu, idxv).imag(); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 5; bool wgrid = true; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’: ./src/ducc0/wgridder/wgridder.h:1247:61: recursively required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 7; bool wgrid = true; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1247 | if (supp(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1247:61: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 8; bool wgrid = true; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ ./src/ducc0/wgridder/wgridder.h:1340:38: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c(const ducc0::detail_mav::cmav, 2>&, size_t, double) [with bool wgrid = true; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1340 | grid2x_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1479:25: required from ‘void ducc0::detail_gridder::Wgridder::dirty2x() [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1479 | grid2x_c(grid, pl, w); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:30: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = float; Tms = float; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = float; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:192:20: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = float; size_t = long unsigned int]’ 192 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 193 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 194 | sigma_max, center_x, center_y, allow_nshift); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:208:32: required from here 208 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 209 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 210 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 211 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1322:45: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 1322 | if (!firstplane) r += ms_out(row, ch); | ~~~~~~^~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1327:23: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 1327 | ms_out(row, ch) = r; | ~~~~~~^~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::HelperG2x2::load() [with long unsigned int supp = 7; bool wgrid = true; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:1113:13: required from ‘void ducc0::detail_gridder::Wgridder::HelperG2x2::prep(const ducc0::detail_gridder::UVW&, size_t) [with long unsigned int supp = 7; bool wgrid = true; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1113 | load(); | ^~~~ ./src/ducc0/wgridder/wgridder.h:1290:25: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 7; bool wgrid = true; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1290 | hlp.prep(coord, nth); | ~~~~~~~~^~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1247:61: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 8; bool wgrid = true; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1247 | if (supp(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1340:38: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c(const ducc0::detail_mav::cmav, 2>&, size_t, double) [with bool wgrid = true; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1340 | grid2x_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1479:25: required from ‘void ducc0::detail_gridder::Wgridder::dirty2x() [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1479 | grid2x_c(grid, pl, w); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:30: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = float; Tms = float; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = float; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:192:20: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = float; size_t = long unsigned int]’ 192 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 193 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 194 | sigma_max, center_x, center_y, allow_nshift); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:208:32: required from here 208 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 209 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 210 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 211 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1062:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 1062 | bufr(iu,iv) = grid(idxu, idxv).real(); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1063:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 1063 | bufi(iu,iv) = grid(idxu, idxv).imag(); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::HelperG2x2::load() [with long unsigned int supp = 4; bool wgrid = false; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:1113:13: required from ‘void ducc0::detail_gridder::Wgridder::HelperG2x2::prep(const ducc0::detail_gridder::UVW&, size_t) [with long unsigned int supp = 4; bool wgrid = false; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1113 | load(); | ^~~~ ./src/ducc0/wgridder/wgridder.h:1290:25: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 4; bool wgrid = false; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1290 | hlp.prep(coord, nth); | ~~~~~~~~^~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1245:64: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 8; bool wgrid = false; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1245 | if (supp<=SUPP/2) return grid2x_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1340:38: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c(const ducc0::detail_mav::cmav, 2>&, size_t, double) [with bool wgrid = false; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1340 | grid2x_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1494:24: required from ‘void ducc0::detail_gridder::Wgridder::dirty2x() [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1494 | grid2x_c(grid, 0); | ~~~~~~~~~~~~~~~^~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:30: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = float; Tms = float; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = float; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:192:20: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = float; size_t = long unsigned int]’ 192 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 193 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 194 | sigma_max, center_x, center_y, allow_nshift); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:208:32: required from here 208 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 209 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 210 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 211 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1062:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 1062 | bufr(iu,iv) = grid(idxu, idxv).real(); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1063:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 1063 | bufi(iu,iv) = grid(idxu, idxv).imag(); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 5; bool wgrid = false; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’: ./src/ducc0/wgridder/wgridder.h:1247:61: recursively required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 7; bool wgrid = false; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1247 | if (supp(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1247:61: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 8; bool wgrid = false; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ ./src/ducc0/wgridder/wgridder.h:1340:38: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c(const ducc0::detail_mav::cmav, 2>&, size_t, double) [with bool wgrid = false; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1340 | grid2x_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1494:24: required from ‘void ducc0::detail_gridder::Wgridder::dirty2x() [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1494 | grid2x_c(grid, 0); | ~~~~~~~~~~~~~~~^~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:30: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = float; Tms = float; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = float; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:192:20: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = float; size_t = long unsigned int]’ 192 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 193 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 194 | sigma_max, center_x, center_y, allow_nshift); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:208:32: required from here 208 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 209 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 210 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 211 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1322:45: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 1322 | if (!firstplane) r += ms_out(row, ch); | ~~~~~~^~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1327:23: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 1327 | ms_out(row, ch) = r; | ~~~~~~^~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::HelperG2x2::load() [with long unsigned int supp = 7; bool wgrid = false; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:1113:13: required from ‘void ducc0::detail_gridder::Wgridder::HelperG2x2::prep(const ducc0::detail_gridder::UVW&, size_t) [with long unsigned int supp = 7; bool wgrid = false; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1113 | load(); | ^~~~ ./src/ducc0/wgridder/wgridder.h:1290:25: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 7; bool wgrid = false; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1290 | hlp.prep(coord, nth); | ~~~~~~~~^~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1247:61: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 8; bool wgrid = false; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1247 | if (supp(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1340:38: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c(const ducc0::detail_mav::cmav, 2>&, size_t, double) [with bool wgrid = false; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1340 | grid2x_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1494:24: required from ‘void ducc0::detail_gridder::Wgridder::dirty2x() [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1494 | grid2x_c(grid, 0); | ~~~~~~~~~~~~~~~^~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:30: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = float; Tms = float; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = float; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:192:20: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = float; size_t = long unsigned int]’ 192 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 193 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 194 | sigma_max, center_x, center_y, allow_nshift); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:208:32: required from here 208 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 209 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 210 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 211 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1062:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 1062 | bufr(iu,iv) = grid(idxu, idxv).real(); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1063:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 1063 | bufi(iu,iv) = grid(idxu, idxv).imag(); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::HelperX2g2::dump() [with long unsigned int supp = 8; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:997:25: required from ‘ducc0::detail_gridder::Wgridder::HelperX2g2::~HelperX2g2() [with long unsigned int supp = 8; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’ 997 | ~HelperX2g2() { dump(); } | ^~~~ ./src/ducc0/wgridder/wgridder.h:1152:32: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 8; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1152 | HelperX2g2 hlp(this, grid, locks, w0, dw); | ^~~ ./src/ducc0/wgridder/wgridder.h:1141:64: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 16; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1141 | if (supp<=SUPP/2) return x2grid_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1238:38: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c(const ducc0::detail_mav::vmav, 2>&, size_t, double) [with bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1238 | x2grid_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1439:25: required from ‘void ducc0::detail_gridder::Wgridder::x2dirty() [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1439 | x2grid_c(grid, pl, w); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:18: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = double; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = double; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:213:33: required from here 213 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 214 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 215 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 216 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:965:19: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (int&, int&)’ is ambiguous 965 | grid(idxu,idxv) += complex(Tcalc(bufr(iu,iv)), Tcalc(bufi(iu,iv))); | ~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:965:59: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 965 | grid(idxu,idxv) += complex(Tcalc(bufr(iu,iv)), Tcalc(bufi(iu,iv))); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:966:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 966 | bufr(iu,iv) = bufi(iu,iv) = 0; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:966:33: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 966 | bufr(iu,iv) = bufi(iu,iv) = 0; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::HelperX2g2::dump() [with long unsigned int supp = 15; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:997:25: required from ‘ducc0::detail_gridder::Wgridder::HelperX2g2::~HelperX2g2() [with long unsigned int supp = 15; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’ 997 | ~HelperX2g2() { dump(); } | ^~~~ ./src/ducc0/wgridder/wgridder.h:1152:32: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 15; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1152 | HelperX2g2 hlp(this, grid, locks, w0, dw); | ^~~ ./src/ducc0/wgridder/wgridder.h:1143:61: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 16; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1143 | if (supp(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1238:38: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c(const ducc0::detail_mav::vmav, 2>&, size_t, double) [with bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1238 | x2grid_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1439:25: required from ‘void ducc0::detail_gridder::Wgridder::x2dirty() [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1439 | x2grid_c(grid, pl, w); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:18: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = double; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = double; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:213:33: required from here 213 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 214 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 215 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 216 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:965:19: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (int&, int&)’ is ambiguous 965 | grid(idxu,idxv) += complex(Tcalc(bufr(iu,iv)), Tcalc(bufi(iu,iv))); | ~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:965:59: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 965 | grid(idxu,idxv) += complex(Tcalc(bufr(iu,iv)), Tcalc(bufi(iu,iv))); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:966:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 966 | bufr(iu,iv) = bufi(iu,iv) = 0; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:966:33: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 966 | bufr(iu,iv) = bufi(iu,iv) = 0; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::HelperX2g2::dump() [with long unsigned int supp = 8; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:997:25: required from ‘ducc0::detail_gridder::Wgridder::HelperX2g2::~HelperX2g2() [with long unsigned int supp = 8; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’ 997 | ~HelperX2g2() { dump(); } | ^~~~ ./src/ducc0/wgridder/wgridder.h:1152:32: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 8; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1152 | HelperX2g2 hlp(this, grid, locks, w0, dw); | ^~~ ./src/ducc0/wgridder/wgridder.h:1141:64: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 16; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1141 | if (supp<=SUPP/2) return x2grid_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1238:38: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c(const ducc0::detail_mav::vmav, 2>&, size_t, double) [with bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1238 | x2grid_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1451:24: required from ‘void ducc0::detail_gridder::Wgridder::x2dirty() [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1451 | x2grid_c(grid, 0); | ~~~~~~~~~~~~~~~^~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:18: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = double; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = double; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:213:33: required from here 213 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 214 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 215 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 216 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:965:19: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (int&, int&)’ is ambiguous 965 | grid(idxu,idxv) += complex(Tcalc(bufr(iu,iv)), Tcalc(bufi(iu,iv))); | ~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:965:59: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 965 | grid(idxu,idxv) += complex(Tcalc(bufr(iu,iv)), Tcalc(bufi(iu,iv))); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:966:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 966 | bufr(iu,iv) = bufi(iu,iv) = 0; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:966:33: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 966 | bufr(iu,iv) = bufi(iu,iv) = 0; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::HelperX2g2::dump() [with long unsigned int supp = 15; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:997:25: required from ‘ducc0::detail_gridder::Wgridder::HelperX2g2::~HelperX2g2() [with long unsigned int supp = 15; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’ 997 | ~HelperX2g2() { dump(); } | ^~~~ ./src/ducc0/wgridder/wgridder.h:1152:32: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 15; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1152 | HelperX2g2 hlp(this, grid, locks, w0, dw); | ^~~ ./src/ducc0/wgridder/wgridder.h:1143:61: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 16; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1143 | if (supp(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1238:38: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c(const ducc0::detail_mav::vmav, 2>&, size_t, double) [with bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1238 | x2grid_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1451:24: required from ‘void ducc0::detail_gridder::Wgridder::x2dirty() [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1451 | x2grid_c(grid, 0); | ~~~~~~~~~~~~~~~^~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:18: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = double; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = double; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:213:33: required from here 213 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 214 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 215 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 216 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:965:19: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (int&, int&)’ is ambiguous 965 | grid(idxu,idxv) += complex(Tcalc(bufr(iu,iv)), Tcalc(bufi(iu,iv))); | ~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:965:59: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 965 | grid(idxu,idxv) += complex(Tcalc(bufr(iu,iv)), Tcalc(bufi(iu,iv))); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:966:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 966 | bufr(iu,iv) = bufi(iu,iv) = 0; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:966:33: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 966 | bufr(iu,iv) = bufi(iu,iv) = 0; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 6; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’: ./src/ducc0/wgridder/wgridder.h:1247:61: recursively required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 7; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1247 | if (supp(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1247:61: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 8; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ ./src/ducc0/wgridder/wgridder.h:1245:64: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 16; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1245 | if (supp<=SUPP/2) return grid2x_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1340:38: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c(const ducc0::detail_mav::cmav, 2>&, size_t, double) [with bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1340 | grid2x_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1479:25: required from ‘void ducc0::detail_gridder::Wgridder::dirty2x() [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1479 | grid2x_c(grid, pl, w); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:30: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = double; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = double; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:213:33: required from here 213 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 214 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 215 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 216 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1322:45: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 1322 | if (!firstplane) r += ms_out(row, ch); | ~~~~~~^~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1327:23: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 1327 | ms_out(row, ch) = r; | ~~~~~~^~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::HelperG2x2::load() [with long unsigned int supp = 8; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:1113:13: required from ‘void ducc0::detail_gridder::Wgridder::HelperG2x2::prep(const ducc0::detail_gridder::UVW&, size_t) [with long unsigned int supp = 8; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1113 | load(); | ^~~~ ./src/ducc0/wgridder/wgridder.h:1290:25: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 8; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1290 | hlp.prep(coord, nth); | ~~~~~~~~^~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1245:64: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 16; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1245 | if (supp<=SUPP/2) return grid2x_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1340:38: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c(const ducc0::detail_mav::cmav, 2>&, size_t, double) [with bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1340 | grid2x_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1479:25: required from ‘void ducc0::detail_gridder::Wgridder::dirty2x() [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1479 | grid2x_c(grid, pl, w); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:30: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = double; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = double; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:213:33: required from here 213 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 214 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 215 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 216 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1062:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 1062 | bufr(iu,iv) = grid(idxu, idxv).real(); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1063:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 1063 | bufi(iu,iv) = grid(idxu, idxv).imag(); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 13; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’: ./src/ducc0/wgridder/wgridder.h:1247:61: recursively required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 15; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1247 | if (supp(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1247:61: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 16; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ ./src/ducc0/wgridder/wgridder.h:1340:38: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c(const ducc0::detail_mav::cmav, 2>&, size_t, double) [with bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1340 | grid2x_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1479:25: required from ‘void ducc0::detail_gridder::Wgridder::dirty2x() [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1479 | grid2x_c(grid, pl, w); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:30: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = double; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = double; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:213:33: required from here 213 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 214 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 215 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 216 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1322:45: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 1322 | if (!firstplane) r += ms_out(row, ch); | ~~~~~~^~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1327:23: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 1327 | ms_out(row, ch) = r; | ~~~~~~^~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::HelperG2x2::load() [with long unsigned int supp = 15; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:1113:13: required from ‘void ducc0::detail_gridder::Wgridder::HelperG2x2::prep(const ducc0::detail_gridder::UVW&, size_t) [with long unsigned int supp = 15; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1113 | load(); | ^~~~ ./src/ducc0/wgridder/wgridder.h:1290:25: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 15; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1290 | hlp.prep(coord, nth); | ~~~~~~~~^~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1247:61: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 16; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1247 | if (supp(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1340:38: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c(const ducc0::detail_mav::cmav, 2>&, size_t, double) [with bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1340 | grid2x_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1479:25: required from ‘void ducc0::detail_gridder::Wgridder::dirty2x() [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1479 | grid2x_c(grid, pl, w); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:30: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = double; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = double; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:213:33: required from here 213 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 214 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 215 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 216 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1062:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 1062 | bufr(iu,iv) = grid(idxu, idxv).real(); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1063:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 1063 | bufi(iu,iv) = grid(idxu, idxv).imag(); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 6; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’: ./src/ducc0/wgridder/wgridder.h:1247:61: recursively required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 7; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1247 | if (supp(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1247:61: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 8; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ ./src/ducc0/wgridder/wgridder.h:1245:64: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 16; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1245 | if (supp<=SUPP/2) return grid2x_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1340:38: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c(const ducc0::detail_mav::cmav, 2>&, size_t, double) [with bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1340 | grid2x_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1494:24: required from ‘void ducc0::detail_gridder::Wgridder::dirty2x() [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1494 | grid2x_c(grid, 0); | ~~~~~~~~~~~~~~~^~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:30: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = double; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = double; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:213:33: required from here 213 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 214 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 215 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 216 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1322:45: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 1322 | if (!firstplane) r += ms_out(row, ch); | ~~~~~~^~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1327:23: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 1327 | ms_out(row, ch) = r; | ~~~~~~^~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::HelperG2x2::load() [with long unsigned int supp = 8; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:1113:13: required from ‘void ducc0::detail_gridder::Wgridder::HelperG2x2::prep(const ducc0::detail_gridder::UVW&, size_t) [with long unsigned int supp = 8; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1113 | load(); | ^~~~ ./src/ducc0/wgridder/wgridder.h:1290:25: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 8; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1290 | hlp.prep(coord, nth); | ~~~~~~~~^~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1245:64: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 16; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1245 | if (supp<=SUPP/2) return grid2x_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1340:38: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c(const ducc0::detail_mav::cmav, 2>&, size_t, double) [with bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1340 | grid2x_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1494:24: required from ‘void ducc0::detail_gridder::Wgridder::dirty2x() [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1494 | grid2x_c(grid, 0); | ~~~~~~~~~~~~~~~^~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:30: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = double; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = double; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:213:33: required from here 213 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 214 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 215 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 216 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1062:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 1062 | bufr(iu,iv) = grid(idxu, idxv).real(); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1063:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 1063 | bufi(iu,iv) = grid(idxu, idxv).imag(); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 13; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’: ./src/ducc0/wgridder/wgridder.h:1247:61: recursively required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 15; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1247 | if (supp(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1247:61: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 16; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ ./src/ducc0/wgridder/wgridder.h:1340:38: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c(const ducc0::detail_mav::cmav, 2>&, size_t, double) [with bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1340 | grid2x_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1494:24: required from ‘void ducc0::detail_gridder::Wgridder::dirty2x() [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1494 | grid2x_c(grid, 0); | ~~~~~~~~~~~~~~~^~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:30: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = double; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = double; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:213:33: required from here 213 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 214 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 215 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 216 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1322:45: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 1322 | if (!firstplane) r += ms_out(row, ch); | ~~~~~~^~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1327:23: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 1327 | ms_out(row, ch) = r; | ~~~~~~^~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::HelperG2x2::load() [with long unsigned int supp = 15; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:1113:13: required from ‘void ducc0::detail_gridder::Wgridder::HelperG2x2::prep(const ducc0::detail_gridder::UVW&, size_t) [with long unsigned int supp = 15; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1113 | load(); | ^~~~ ./src/ducc0/wgridder/wgridder.h:1290:25: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 15; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1290 | hlp.prep(coord, nth); | ~~~~~~~~^~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1247:61: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 16; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1247 | if (supp(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1340:38: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c(const ducc0::detail_mav::cmav, 2>&, size_t, double) [with bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1340 | grid2x_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1494:24: required from ‘void ducc0::detail_gridder::Wgridder::dirty2x() [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1494 | grid2x_c(grid, 0); | ~~~~~~~~~~~~~~~^~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:30: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = double; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = double; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:213:33: required from here 213 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 214 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 215 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 216 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1062:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 1062 | bufr(iu,iv) = grid(idxu, idxv).real(); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1063:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 1063 | bufi(iu,iv) = grid(idxu, idxv).imag(); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 6; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:545:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 7; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 545 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:545:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 8; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:543:62: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 543 | if (supp<=SUPP/2) return interpolation_helper(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:318:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1433:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 1433 | if (si1) si1->interp(cmav,1>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = float; Tcoord = double; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:102:37: required from here 102 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 103 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:602:21: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 602 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:627:19: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 627 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 8; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:426:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep_for_index(std::array) [with long unsigned int supp = 8; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 426 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:591:33: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 8; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 591 | hlp.prep_for_index(index[k]); | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:543:62: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 543 | if (supp<=SUPP/2) return interpolation_helper(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:318:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1433:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 1433 | if (si1) si1->interp(cmav,1>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = float; Tcoord = double; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:102:37: required from here 102 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 103 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:407:19: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&)’ is ambiguous 407 | { bufr(iu) = grid(idxu).real(); bufi(iu) = grid(idxu).imag(); } | ~~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int}; T = float; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int}; T = float; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:407:49: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&)’ is ambiguous 407 | { bufr(iu) = grid(idxu).real(); bufi(iu) = grid(idxu).imag(); } | ~~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int}; T = float; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int}; T = float; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 13; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:545:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 545 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:545:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:318:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1433:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 1433 | if (si1) si1->interp(cmav,1>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = float; Tcoord = double; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:102:37: required from here 102 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 103 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:602:21: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 602 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:627:19: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 627 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 15; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:426:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep_for_index(std::array) [with long unsigned int supp = 15; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 426 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:591:33: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 591 | hlp.prep_for_index(index[k]); | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:545:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 545 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:318:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1433:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 1433 | if (si1) si1->interp(cmav,1>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = float; Tcoord = double; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:102:37: required from here 102 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 103 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:407:19: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&)’ is ambiguous 407 | { bufr(iu) = grid(idxu).real(); bufi(iu) = grid(idxu).imag(); } | ~~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int}; T = float; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int}; T = float; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:407:49: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&)’ is ambiguous 407 | { bufr(iu) = grid(idxu).real(); bufi(iu) = grid(idxu).imag(); } | ~~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int}; T = float; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int}; T = float; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 6; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:895:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 7; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 895 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:895:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 8; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:893:62: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 893 | if (supp<=SUPP/2) return interpolation_helper(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:653:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1434:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 1434 | if (si2) si2->interp(cmav,2>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = float; Tcoord = double; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:102:37: required from here 102 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 103 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:951:17: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 951 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 8; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:799:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep(std::array) [with long unsigned int supp = 8; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 799 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:919:28: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 8; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 919 | sorted ? hlp.prep({coords(ix,0), coords(ix,1)}) | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:893:62: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 893 | if (supp<=SUPP/2) return interpolation_helper(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:653:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1434:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 1434 | if (si2) si2->interp(cmav,2>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = float; Tcoord = double; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:102:37: required from here 102 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 103 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:762:20: error: call of ‘(ducc0::detail_mav::vmav) (int64_t, int64_t&)’ is ambiguous 762 | bufri(2*iu ,iv) = grid(idxu, idxv).real(); | ~~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:763:20: error: call of ‘(ducc0::detail_mav::vmav) (int64_t, int64_t&)’ is ambiguous 763 | bufri(2*iu+1,iv) = grid(idxu, idxv).imag(); | ~~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 13; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:895:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 895 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:895:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:653:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1434:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 1434 | if (si2) si2->interp(cmav,2>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = float; Tcoord = double; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:102:37: required from here 102 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 103 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:951:17: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 951 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 15; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:799:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep(std::array) [with long unsigned int supp = 15; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 799 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:919:28: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 919 | sorted ? hlp.prep({coords(ix,0), coords(ix,1)}) | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:895:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 895 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:653:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1434:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 1434 | if (si2) si2->interp(cmav,2>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = float; Tcoord = double; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:102:37: required from here 102 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 103 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:762:20: error: call of ‘(ducc0::detail_mav::vmav) (int64_t, int64_t&)’ is ambiguous 762 | bufri(2*iu ,iv) = grid(idxu, idxv).real(); | ~~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:763:20: error: call of ‘(ducc0::detail_mav::vmav) (int64_t, int64_t&)’ is ambiguous 763 | bufri(2*iu+1,iv) = grid(idxu, idxv).imag(); | ~~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 6; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:1274:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 7; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 1274 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1274:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 8; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:1272:62: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 1272 | if (supp<=SUPP/2) return interpolation_helper(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:979:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1435:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 1435 | if (si3) si3->interp(cmav,3>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = float; Tcoord = double; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:102:37: required from here 102 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 103 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1344:17: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 1344 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 8; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:1171:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep(std::array) [with long unsigned int supp = 8; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 1171 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:1300:28: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 8; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 1300 | sorted ? hlp.prep({coords(ix,0), coords(ix,1), coords(ix,2)}) | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1272:62: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 1272 | if (supp<=SUPP/2) return interpolation_helper(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:979:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1435:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 1435 | if (si3) si3->interp(cmav,3>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = float; Tcoord = double; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:102:37: required from here 102 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 103 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1130:22: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&, int64_t, int64_t&)’ is ambiguous 1130 | bufri(iu,2*iv,iw) = grid(idxu, idxv, idxw).real(); | ~~~~~^~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1131:22: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&, int64_t, int64_t&)’ is ambiguous 1131 | bufri(iu,2*iv+1,iw) = grid(idxu, idxv, idxw).imag(); | ~~~~~^~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 13; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:1274:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 1274 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1274:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:979:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1435:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 1435 | if (si3) si3->interp(cmav,3>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = float; Tcoord = double; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:102:37: required from here 102 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 103 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1344:17: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 1344 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 15; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:1171:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep(std::array) [with long unsigned int supp = 15; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 1171 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:1300:28: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 1300 | sorted ? hlp.prep({coords(ix,0), coords(ix,1), coords(ix,2)}) | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1274:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 1274 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:979:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1435:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 1435 | if (si3) si3->interp(cmav,3>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = float; Tcoord = double; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:102:37: required from here 102 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 103 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1130:22: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&, int64_t, int64_t&)’ is ambiguous 1130 | bufri(iu,2*iv,iw) = grid(idxu, idxv, idxw).real(); | ~~~~~^~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1131:22: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&, int64_t, int64_t&)’ is ambiguous 1131 | bufri(iu,2*iv+1,iw) = grid(idxu, idxv, idxw).imag(); | ~~~~~^~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 6; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:545:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 7; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 545 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:545:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 8; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:543:62: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 543 | if (supp<=SUPP/2) return interpolation_helper(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:318:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1433:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 1433 | if (si1) si1->interp(cmav,1>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = double; Tcoord = float; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:108:37: required from here 108 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 109 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:602:21: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 602 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:627:19: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 627 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 8; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:426:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep_for_index(std::array) [with long unsigned int supp = 8; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 426 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:591:33: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 8; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 591 | hlp.prep_for_index(index[k]); | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:543:62: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 543 | if (supp<=SUPP/2) return interpolation_helper(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:318:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1433:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 1433 | if (si1) si1->interp(cmav,1>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = double; Tcoord = float; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:108:37: required from here 108 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 109 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:407:19: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&)’ is ambiguous 407 | { bufr(iu) = grid(idxu).real(); bufi(iu) = grid(idxu).imag(); } | ~~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:407:49: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&)’ is ambiguous 407 | { bufr(iu) = grid(idxu).real(); bufi(iu) = grid(idxu).imag(); } | ~~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 13; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:545:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 545 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:545:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:318:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1433:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 1433 | if (si1) si1->interp(cmav,1>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = double; Tcoord = float; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:108:37: required from here 108 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 109 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:602:21: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 602 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:627:19: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 627 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 15; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:426:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep_for_index(std::array) [with long unsigned int supp = 15; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 426 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:591:33: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 591 | hlp.prep_for_index(index[k]); | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:545:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 545 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:318:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1433:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 1433 | if (si1) si1->interp(cmav,1>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = double; Tcoord = float; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:108:37: required from here 108 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 109 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:407:19: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&)’ is ambiguous 407 | { bufr(iu) = grid(idxu).real(); bufi(iu) = grid(idxu).imag(); } | ~~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:407:49: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&)’ is ambiguous 407 | { bufr(iu) = grid(idxu).real(); bufi(iu) = grid(idxu).imag(); } | ~~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 6; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:895:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 7; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 895 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:895:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 8; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:893:62: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 893 | if (supp<=SUPP/2) return interpolation_helper(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:653:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1434:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 1434 | if (si2) si2->interp(cmav,2>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = double; Tcoord = float; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:108:37: required from here 108 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 109 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:951:17: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 951 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 8; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:799:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep(std::array) [with long unsigned int supp = 8; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 799 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:919:28: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 8; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 919 | sorted ? hlp.prep({coords(ix,0), coords(ix,1)}) | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:893:62: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 893 | if (supp<=SUPP/2) return interpolation_helper(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:653:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1434:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 1434 | if (si2) si2->interp(cmav,2>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = double; Tcoord = float; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:108:37: required from here 108 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 109 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:762:20: error: call of ‘(ducc0::detail_mav::vmav) (int64_t, int64_t&)’ is ambiguous 762 | bufri(2*iu ,iv) = grid(idxu, idxv).real(); | ~~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:763:20: error: call of ‘(ducc0::detail_mav::vmav) (int64_t, int64_t&)’ is ambiguous 763 | bufri(2*iu+1,iv) = grid(idxu, idxv).imag(); | ~~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 13; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:895:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 895 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:895:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:653:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1434:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 1434 | if (si2) si2->interp(cmav,2>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = double; Tcoord = float; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:108:37: required from here 108 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 109 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:951:17: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 951 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 15; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:799:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep(std::array) [with long unsigned int supp = 15; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 799 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:919:28: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 919 | sorted ? hlp.prep({coords(ix,0), coords(ix,1)}) | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:895:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 895 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:653:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1434:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 1434 | if (si2) si2->interp(cmav,2>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = double; Tcoord = float; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:108:37: required from here 108 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 109 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:762:20: error: call of ‘(ducc0::detail_mav::vmav) (int64_t, int64_t&)’ is ambiguous 762 | bufri(2*iu ,iv) = grid(idxu, idxv).real(); | ~~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:763:20: error: call of ‘(ducc0::detail_mav::vmav) (int64_t, int64_t&)’ is ambiguous 763 | bufri(2*iu+1,iv) = grid(idxu, idxv).imag(); | ~~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 6; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:1274:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 7; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 1274 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1274:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 8; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:1272:62: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 1272 | if (supp<=SUPP/2) return interpolation_helper(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:979:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1435:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 1435 | if (si3) si3->interp(cmav,3>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = double; Tcoord = float; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:108:37: required from here 108 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 109 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1344:17: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 1344 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 8; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:1171:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep(std::array) [with long unsigned int supp = 8; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 1171 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:1300:28: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 8; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 1300 | sorted ? hlp.prep({coords(ix,0), coords(ix,1), coords(ix,2)}) | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1272:62: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 1272 | if (supp<=SUPP/2) return interpolation_helper(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:979:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1435:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 1435 | if (si3) si3->interp(cmav,3>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = double; Tcoord = float; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:108:37: required from here 108 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 109 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1130:22: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&, int64_t, int64_t&)’ is ambiguous 1130 | bufri(iu,2*iv,iw) = grid(idxu, idxv, idxw).real(); | ~~~~~^~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1131:22: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&, int64_t, int64_t&)’ is ambiguous 1131 | bufri(iu,2*iv+1,iw) = grid(idxu, idxv, idxw).imag(); | ~~~~~^~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 13; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:1274:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 1274 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1274:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:979:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1435:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 1435 | if (si3) si3->interp(cmav,3>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = double; Tcoord = float; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:108:37: required from here 108 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 109 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1344:17: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 1344 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 15; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:1171:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep(std::array) [with long unsigned int supp = 15; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 1171 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:1300:28: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 1300 | sorted ? hlp.prep({coords(ix,0), coords(ix,1), coords(ix,2)}) | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1274:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 1274 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:979:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1435:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 1435 | if (si3) si3->interp(cmav,3>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = double; Tcoord = float; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:108:37: required from here 108 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 109 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1130:22: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&, int64_t, int64_t&)’ is ambiguous 1130 | bufri(iu,2*iv,iw) = grid(idxu, idxv, idxw).real(); | ~~~~~^~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1131:22: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&, int64_t, int64_t&)’ is ambiguous 1131 | bufri(iu,2*iv+1,iw) = grid(idxu, idxv, idxw).imag(); | ~~~~~^~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 4; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:426:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep_for_index(std::array) [with long unsigned int supp = 4; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 426 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:543:62: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 8; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 543 | if (supp<=SUPP/2) return interpolation_helper(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:543:62: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:318:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1449:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 1449 | if (si1) si1->interp(cmav,1>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = double]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:500:35: required from here 500 | if (pd) return do_get_points(pd, coord, values, gridd); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:407:19: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&)’ is ambiguous 407 | { bufr(iu) = grid(idxu).real(); bufi(iu) = grid(idxu).imag(); } | ~~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:407:49: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&)’ is ambiguous 407 | { bufr(iu) = grid(idxu).real(); bufi(iu) = grid(idxu).imag(); } | ~~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 5; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:545:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 7; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 545 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:545:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 8; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:543:62: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 543 | if (supp<=SUPP/2) return interpolation_helper(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:318:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1449:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 1449 | if (si1) si1->interp(cmav,1>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = double]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:500:35: required from here 500 | if (pd) return do_get_points(pd, coord, values, gridd); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:602:21: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 602 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:627:19: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 627 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 7; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:426:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep_for_index(std::array) [with long unsigned int supp = 7; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 426 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:591:33: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 7; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 591 | hlp.prep_for_index(index[k]); | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:545:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 8; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 545 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:543:62: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 543 | if (supp<=SUPP/2) return interpolation_helper(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:318:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1449:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 1449 | if (si1) si1->interp(cmav,1>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = double]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:500:35: required from here 500 | if (pd) return do_get_points(pd, coord, values, gridd); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:407:19: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&)’ is ambiguous 407 | { bufr(iu) = grid(idxu).real(); bufi(iu) = grid(idxu).imag(); } | ~~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:407:49: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&)’ is ambiguous 407 | { bufr(iu) = grid(idxu).real(); bufi(iu) = grid(idxu).imag(); } | ~~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 12; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:545:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 545 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:545:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:318:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1449:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 1449 | if (si1) si1->interp(cmav,1>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = double]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:500:35: required from here 500 | if (pd) return do_get_points(pd, coord, values, gridd); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:602:21: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 602 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:627:19: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 627 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 14; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:426:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep_for_index(std::array) [with long unsigned int supp = 14; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 426 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:545:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 545 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:545:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:318:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1449:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 1449 | if (si1) si1->interp(cmav,1>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = double]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:500:35: required from here 500 | if (pd) return do_get_points(pd, coord, values, gridd); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:407:19: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&)’ is ambiguous 407 | { bufr(iu) = grid(idxu).real(); bufi(iu) = grid(idxu).imag(); } | ~~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:407:49: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&)’ is ambiguous 407 | { bufr(iu) = grid(idxu).real(); bufi(iu) = grid(idxu).imag(); } | ~~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 4; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:799:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep(std::array) [with long unsigned int supp = 4; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 799 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:893:62: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 8; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 893 | if (supp<=SUPP/2) return interpolation_helper(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:893:62: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:653:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1450:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 1450 | if (si2) si2->interp(cmav,2>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = double]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:500:35: required from here 500 | if (pd) return do_get_points(pd, coord, values, gridd); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:762:20: error: call of ‘(ducc0::detail_mav::vmav) (int64_t, int64_t&)’ is ambiguous 762 | bufri(2*iu ,iv) = grid(idxu, idxv).real(); | ~~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:763:20: error: call of ‘(ducc0::detail_mav::vmav) (int64_t, int64_t&)’ is ambiguous 763 | bufri(2*iu+1,iv) = grid(idxu, idxv).imag(); | ~~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 5; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:895:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 7; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 895 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:895:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 8; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:893:62: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 893 | if (supp<=SUPP/2) return interpolation_helper(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:653:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1450:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 1450 | if (si2) si2->interp(cmav,2>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = double]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:500:35: required from here 500 | if (pd) return do_get_points(pd, coord, values, gridd); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:951:17: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 951 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 7; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:799:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep(std::array) [with long unsigned int supp = 7; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 799 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:919:28: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 7; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 919 | sorted ? hlp.prep({coords(ix,0), coords(ix,1)}) | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:895:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 8; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 895 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:893:62: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 893 | if (supp<=SUPP/2) return interpolation_helper(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:653:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1450:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 1450 | if (si2) si2->interp(cmav,2>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = double]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:500:35: required from here 500 | if (pd) return do_get_points(pd, coord, values, gridd); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:762:20: error: call of ‘(ducc0::detail_mav::vmav) (int64_t, int64_t&)’ is ambiguous 762 | bufri(2*iu ,iv) = grid(idxu, idxv).real(); | ~~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:763:20: error: call of ‘(ducc0::detail_mav::vmav) (int64_t, int64_t&)’ is ambiguous 763 | bufri(2*iu+1,iv) = grid(idxu, idxv).imag(); | ~~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 12; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:895:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 895 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:895:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:653:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1450:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 1450 | if (si2) si2->interp(cmav,2>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = double]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:500:35: required from here 500 | if (pd) return do_get_points(pd, coord, values, gridd); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:951:17: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 951 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 14; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:799:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep(std::array) [with long unsigned int supp = 14; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 799 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:895:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 895 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:895:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:653:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1450:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 1450 | if (si2) si2->interp(cmav,2>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = double]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:500:35: required from here 500 | if (pd) return do_get_points(pd, coord, values, gridd); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:762:20: error: call of ‘(ducc0::detail_mav::vmav) (int64_t, int64_t&)’ is ambiguous 762 | bufri(2*iu ,iv) = grid(idxu, idxv).real(); | ~~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:763:20: error: call of ‘(ducc0::detail_mav::vmav) (int64_t, int64_t&)’ is ambiguous 763 | bufri(2*iu+1,iv) = grid(idxu, idxv).imag(); | ~~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 4; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:1171:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep(std::array) [with long unsigned int supp = 4; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 1171 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:1272:62: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 8; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 1272 | if (supp<=SUPP/2) return interpolation_helper(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1272:62: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:979:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1451:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 1451 | if (si3) si3->interp(cmav,3>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = double]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:500:35: required from here 500 | if (pd) return do_get_points(pd, coord, values, gridd); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1130:22: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&, int64_t, int64_t&)’ is ambiguous 1130 | bufri(iu,2*iv,iw) = grid(idxu, idxv, idxw).real(); | ~~~~~^~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1131:22: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&, int64_t, int64_t&)’ is ambiguous 1131 | bufri(iu,2*iv+1,iw) = grid(idxu, idxv, idxw).imag(); | ~~~~~^~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 5; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:1274:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 7; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 1274 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1274:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 8; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:1272:62: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 1272 | if (supp<=SUPP/2) return interpolation_helper(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:979:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1451:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 1451 | if (si3) si3->interp(cmav,3>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = double]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:500:35: required from here 500 | if (pd) return do_get_points(pd, coord, values, gridd); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1344:17: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 1344 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 7; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:1171:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep(std::array) [with long unsigned int supp = 7; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 1171 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:1300:28: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 7; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 1300 | sorted ? hlp.prep({coords(ix,0), coords(ix,1), coords(ix,2)}) | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1274:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 8; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 1274 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1272:62: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 1272 | if (supp<=SUPP/2) return interpolation_helper(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:979:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1451:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 1451 | if (si3) si3->interp(cmav,3>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = double]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:500:35: required from here 500 | if (pd) return do_get_points(pd, coord, values, gridd); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1130:22: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&, int64_t, int64_t&)’ is ambiguous 1130 | bufri(iu,2*iv,iw) = grid(idxu, idxv, idxw).real(); | ~~~~~^~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1131:22: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&, int64_t, int64_t&)’ is ambiguous 1131 | bufri(iu,2*iv+1,iw) = grid(idxu, idxv, idxw).imag(); | ~~~~~^~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 12; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:1274:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 1274 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1274:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:979:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1451:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 1451 | if (si3) si3->interp(cmav,3>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = double]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:500:35: required from here 500 | if (pd) return do_get_points(pd, coord, values, gridd); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1344:17: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 1344 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 14; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:1171:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep(std::array) [with long unsigned int supp = 14; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 1171 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:1274:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 1274 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1274:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:979:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1451:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 1451 | if (si3) si3->interp(cmav,3>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = double]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:500:35: required from here 500 | if (pd) return do_get_points(pd, coord, values, gridd); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1130:22: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&, int64_t, int64_t&)’ is ambiguous 1130 | bufri(iu,2*iv,iw) = grid(idxu, idxv, idxw).real(); | ~~~~~^~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1131:22: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&, int64_t, int64_t&)’ is ambiguous 1131 | bufri(iu,2*iv+1,iw) = grid(idxu, idxv, idxw).imag(); | ~~~~~^~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 4; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:426:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep_for_index(std::array) [with long unsigned int supp = 4; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 426 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:543:62: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 8; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 543 | if (supp<=SUPP/2) return interpolation_helper(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:543:62: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:318:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1449:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 1449 | if (si1) si1->interp(cmav,1>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = float]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:501:35: required from here 501 | if (pf) return do_get_points(pf, coord, values, gridf); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:407:19: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&)’ is ambiguous 407 | { bufr(iu) = grid(idxu).real(); bufi(iu) = grid(idxu).imag(); } | ~~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int}; T = float; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int}; T = float; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:407:49: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&)’ is ambiguous 407 | { bufr(iu) = grid(idxu).real(); bufi(iu) = grid(idxu).imag(); } | ~~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int}; T = float; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int}; T = float; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 5; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:545:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 7; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 545 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:545:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 8; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:543:62: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 543 | if (supp<=SUPP/2) return interpolation_helper(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:318:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1449:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 1449 | if (si1) si1->interp(cmav,1>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = float]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:501:35: required from here 501 | if (pf) return do_get_points(pf, coord, values, gridf); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:602:21: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 602 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:627:19: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 627 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 7; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:426:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep_for_index(std::array) [with long unsigned int supp = 7; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 426 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:591:33: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 7; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 591 | hlp.prep_for_index(index[k]); | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:545:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 8; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 545 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:543:62: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 543 | if (supp<=SUPP/2) return interpolation_helper(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:318:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1449:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 1449 | if (si1) si1->interp(cmav,1>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = float]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:501:35: required from here 501 | if (pf) return do_get_points(pf, coord, values, gridf); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:407:19: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&)’ is ambiguous 407 | { bufr(iu) = grid(idxu).real(); bufi(iu) = grid(idxu).imag(); } | ~~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int}; T = float; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int}; T = float; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:407:49: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&)’ is ambiguous 407 | { bufr(iu) = grid(idxu).real(); bufi(iu) = grid(idxu).imag(); } | ~~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int}; T = float; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int}; T = float; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 12; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:545:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 545 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:545:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:318:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1449:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 1449 | if (si1) si1->interp(cmav,1>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = float]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:501:35: required from here 501 | if (pf) return do_get_points(pf, coord, values, gridf); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:602:21: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 602 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:627:19: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 627 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 14; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:426:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep_for_index(std::array) [with long unsigned int supp = 14; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 426 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:545:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 545 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:545:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:318:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1449:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 1449 | if (si1) si1->interp(cmav,1>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = float]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:501:35: required from here 501 | if (pf) return do_get_points(pf, coord, values, gridf); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:407:19: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&)’ is ambiguous 407 | { bufr(iu) = grid(idxu).real(); bufi(iu) = grid(idxu).imag(); } | ~~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int}; T = float; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int}; T = float; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:407:49: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&)’ is ambiguous 407 | { bufr(iu) = grid(idxu).real(); bufi(iu) = grid(idxu).imag(); } | ~~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int}; T = float; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int}; T = float; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 4; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:799:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep(std::array) [with long unsigned int supp = 4; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 799 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:893:62: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 8; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 893 | if (supp<=SUPP/2) return interpolation_helper(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:893:62: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:653:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1450:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 1450 | if (si2) si2->interp(cmav,2>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = float]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:501:35: required from here 501 | if (pf) return do_get_points(pf, coord, values, gridf); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:762:20: error: call of ‘(ducc0::detail_mav::vmav) (int64_t, int64_t&)’ is ambiguous 762 | bufri(2*iu ,iv) = grid(idxu, idxv).real(); | ~~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:763:20: error: call of ‘(ducc0::detail_mav::vmav) (int64_t, int64_t&)’ is ambiguous 763 | bufri(2*iu+1,iv) = grid(idxu, idxv).imag(); | ~~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 5; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:895:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 7; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 895 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:895:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 8; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:893:62: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 893 | if (supp<=SUPP/2) return interpolation_helper(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:653:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1450:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 1450 | if (si2) si2->interp(cmav,2>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = float]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:501:35: required from here 501 | if (pf) return do_get_points(pf, coord, values, gridf); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:951:17: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 951 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 7; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:799:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep(std::array) [with long unsigned int supp = 7; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 799 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:919:28: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 7; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 919 | sorted ? hlp.prep({coords(ix,0), coords(ix,1)}) | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:895:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 8; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 895 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:893:62: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 893 | if (supp<=SUPP/2) return interpolation_helper(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:653:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1450:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 1450 | if (si2) si2->interp(cmav,2>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = float]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:501:35: required from here 501 | if (pf) return do_get_points(pf, coord, values, gridf); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:762:20: error: call of ‘(ducc0::detail_mav::vmav) (int64_t, int64_t&)’ is ambiguous 762 | bufri(2*iu ,iv) = grid(idxu, idxv).real(); | ~~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:763:20: error: call of ‘(ducc0::detail_mav::vmav) (int64_t, int64_t&)’ is ambiguous 763 | bufri(2*iu+1,iv) = grid(idxu, idxv).imag(); | ~~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 12; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:895:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 895 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:895:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:653:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1450:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 1450 | if (si2) si2->interp(cmav,2>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = float]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:501:35: required from here 501 | if (pf) return do_get_points(pf, coord, values, gridf); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:951:17: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 951 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 14; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:799:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep(std::array) [with long unsigned int supp = 14; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 799 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:895:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 895 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:895:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:653:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1450:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 1450 | if (si2) si2->interp(cmav,2>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = float]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:501:35: required from here 501 | if (pf) return do_get_points(pf, coord, values, gridf); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:762:20: error: call of ‘(ducc0::detail_mav::vmav) (int64_t, int64_t&)’ is ambiguous 762 | bufri(2*iu ,iv) = grid(idxu, idxv).real(); | ~~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:763:20: error: call of ‘(ducc0::detail_mav::vmav) (int64_t, int64_t&)’ is ambiguous 763 | bufri(2*iu+1,iv) = grid(idxu, idxv).imag(); | ~~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 4; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:1171:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep(std::array) [with long unsigned int supp = 4; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 1171 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:1272:62: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 8; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 1272 | if (supp<=SUPP/2) return interpolation_helper(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1272:62: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:979:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1451:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 1451 | if (si3) si3->interp(cmav,3>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = float]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:501:35: required from here 501 | if (pf) return do_get_points(pf, coord, values, gridf); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1130:22: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&, int64_t, int64_t&)’ is ambiguous 1130 | bufri(iu,2*iv,iw) = grid(idxu, idxv, idxw).real(); | ~~~~~^~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1131:22: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&, int64_t, int64_t&)’ is ambiguous 1131 | bufri(iu,2*iv+1,iw) = grid(idxu, idxv, idxw).imag(); | ~~~~~^~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 5; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:1274:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 7; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 1274 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1274:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 8; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:1272:62: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 1272 | if (supp<=SUPP/2) return interpolation_helper(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:979:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1451:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 1451 | if (si3) si3->interp(cmav,3>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = float]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:501:35: required from here 501 | if (pf) return do_get_points(pf, coord, values, gridf); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1344:17: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 1344 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 7; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:1171:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep(std::array) [with long unsigned int supp = 7; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 1171 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:1300:28: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 7; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 1300 | sorted ? hlp.prep({coords(ix,0), coords(ix,1), coords(ix,2)}) | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1274:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 8; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 1274 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1272:62: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 1272 | if (supp<=SUPP/2) return interpolation_helper(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:979:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1451:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 1451 | if (si3) si3->interp(cmav,3>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = float]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:501:35: required from here 501 | if (pf) return do_get_points(pf, coord, values, gridf); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1130:22: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&, int64_t, int64_t&)’ is ambiguous 1130 | bufri(iu,2*iv,iw) = grid(idxu, idxv, idxw).real(); | ~~~~~^~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1131:22: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&, int64_t, int64_t&)’ is ambiguous 1131 | bufri(iu,2*iv+1,iw) = grid(idxu, idxv, idxw).imag(); | ~~~~~^~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 12; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:1274:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 1274 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1274:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:979:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1451:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 1451 | if (si3) si3->interp(cmav,3>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = float]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:501:35: required from here 501 | if (pf) return do_get_points(pf, coord, values, gridf); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1344:17: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 1344 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 14; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:1171:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep(std::array) [with long unsigned int supp = 14; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 1171 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:1274:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 1274 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1274:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:979:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1451:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 1451 | if (si3) si3->interp(cmav,3>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = float]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:501:35: required from here 501 | if (pf) return do_get_points(pf, coord, values, gridf); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1130:22: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&, int64_t, int64_t&)’ is ambiguous 1130 | bufri(iu,2*iv,iw) = grid(idxu, idxv, idxw).real(); | ~~~~~^~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1131:22: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&, int64_t, int64_t&)’ is ambiguous 1131 | bufri(iu,2*iv+1,iw) = grid(idxu, idxv, idxw).imag(); | ~~~~~^~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h: In instantiation of ‘void ducc0::detail_sphereinterpol::SphereInterpol::interpolx(size_t, const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with long unsigned int supp = 9; Tloc = double; T = double; size_t = long unsigned int]’: ./src/ducc0/sht/sphere_interpol.h:180:49: recursively required from ‘void ducc0::detail_sphereinterpol::SphereInterpol::interpolx(size_t, const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with long unsigned int supp = 15; Tloc = double; T = double; size_t = long unsigned int]’ 180 | if (supp_(supp_, cube, itheta0, iphi0, theta, phi, signal); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:180:49: required from ‘void ducc0::detail_sphereinterpol::SphereInterpol::interpolx(size_t, const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with long unsigned int supp = 16; Tloc = double; T = double; size_t = long unsigned int]’ ./src/ducc0/sht/sphere_interpol.h:559:25: required from ‘void ducc0::detail_sphereinterpol::SphereInterpol::interpol(const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with Tloc = double; T = double; size_t = long unsigned int]’ 559 | interpolx(kernel->support(), cube, itheta0, iphi0, theta, phi, signal); | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sht.cc:2951:17: required from ‘void ducc0::detail_sht::synthesis_general(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, ptrdiff_t, const ducc0::detail_mav::cmav&, double, double, double, size_t, SHT_mode, bool) [with T = double; Tloc = double; size_t = long unsigned int; ptrdiff_t = long int]’ 2951 | inter.interpol(planes, 0, 0, xtheta, xphi, map); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sht.cc:2963:99: required from here 2963 | double epsilon, double sigma_min, double sigma_max, size_t nthreads, SHT_mode mode, bool verbose); | ^ ./src/ducc0/sht/sphere_interpol.h:242:21: error: call of ‘(const ducc0::detail_mav::vmav) (int, size_t&)’ is ambiguous 242 | signal(0, i) = reduce(tres0, std::plus<>()); | ~~~~~~^~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:243:21: error: call of ‘(const ducc0::detail_mav::vmav) (int, size_t&)’ is ambiguous 243 | signal(1, i) = reduce(tres1, std::plus<>()); | ~~~~~~^~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:269:23: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&)’ is ambiguous 269 | signal(icomp, i) = reduce(tres, std::plus<>()); | ~~~~~~^~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h: In instantiation of ‘void ducc0::detail_sphereinterpol::SphereInterpol::deinterpolx(size_t, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with long unsigned int supp = 9; Tloc = double; T = double; size_t = long unsigned int]’: ./src/ducc0/sht/sphere_interpol.h:282:51: recursively required from ‘void ducc0::detail_sphereinterpol::SphereInterpol::deinterpolx(size_t, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with long unsigned int supp = 15; Tloc = double; T = double; size_t = long unsigned int]’ 282 | if (supp_(supp_, cube, itheta0, iphi0, theta, phi, signal); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:282:51: required from ‘void ducc0::detail_sphereinterpol::SphereInterpol::deinterpolx(size_t, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with long unsigned int supp = 16; Tloc = double; T = double; size_t = long unsigned int]’ ./src/ducc0/sht/sphere_interpol.h:567:27: required from ‘void ducc0::detail_sphereinterpol::SphereInterpol::deinterpol(const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with Tloc = double; T = double; size_t = long unsigned int]’ 567 | deinterpolx(kernel->support(), cube, itheta0, iphi0, theta, phi, signal); | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sht.cc:2988:19: required from ‘void ducc0::detail_sht::adjoint_synthesis_general(const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, ptrdiff_t, const ducc0::detail_mav::cmav&, double, double, double, size_t, SHT_mode, bool) [with T = double; Tloc = double; size_t = long unsigned int; ptrdiff_t = long int]’ 2988 | inter.deinterpol(planes, 0, 0, xtheta, xphi, map); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/sht.cc:3001:99: required from here 3001 | double epsilon, double sigma_min, double sigma_max, size_t nthreads, SHT_mode mode, bool verbose); | ^ ./src/ducc0/sht/sphere_interpol.h:357:46: error: call of ‘(const ducc0::detail_mav::vmav) (int, size_t&, size_t&)’ is ambiguous 357 | T * DUCC0_RESTRICT ptr0 = &cube(0,hlp.itheta,hlp.iphi); | ~~~~^~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:358:46: error: call of ‘(const ducc0::detail_mav::vmav) (int, size_t&, size_t&)’ is ambiguous 358 | T * DUCC0_RESTRICT ptr1 = &cube(1,hlp.itheta,hlp.iphi); | ~~~~^~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/sphere_interpol.h:393:47: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&, size_t&, size_t&)’ is ambiguous 393 | T * DUCC0_RESTRICT ptr = &cube(icomp,hlp.itheta,hlp.iphi); | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h: In instantiation of ‘void ducc0::detail_totalconvolve::ConvolverPlan::interpolx(size_t, const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with long unsigned int supp = 9; T = double; size_t = long unsigned int]’: ./src/ducc0/sht/totalconvolve.h:190:49: recursively required from ‘void ducc0::detail_totalconvolve::ConvolverPlan::interpolx(size_t, const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with long unsigned int supp = 15; T = double; size_t = long unsigned int]’ 190 | if (supp_(supp_, cube, itheta0, iphi0, theta, phi, psi, signal); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/totalconvolve.h:190:49: required from ‘void ducc0::detail_totalconvolve::ConvolverPlan::interpolx(size_t, const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with long unsigned int supp = 16; T = double; size_t = long unsigned int]’ ./src/ducc0/sht/totalconvolve.h:547:25: required from ‘void ducc0::detail_totalconvolve::ConvolverPlan::interpol(const ducc0::detail_mav::cmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&) const [with T = double; size_t = long unsigned int]’ 547 | interpolx(kernel->support(), cube, itheta0, iphi0, theta, phi, psi, signal); | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/totalconvolve_pymod.cc:98:15: required from ‘void ducc0::detail_pymodule_totalconvolve::Py_ConvolverPlan::Py_interpol(const pybind11::array&, size_t, size_t, const pybind11::array&, const pybind11::array&, const pybind11::array&, pybind11::array&) [with T = double; size_t = long unsigned int]’ 98 | interpol(cube, itheta0, iphi0, theta, phi, psi, signal); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/totalconvolve_pymod.cc:799:31: required from here 799 | .def("interpol", &conv_d::Py_interpol, Py_ConvolverPlan_interpol_DS, | ^~~~~~~~~~~ ./src/ducc0/sht/totalconvolve.h:249:17: error: call of ‘(const ducc0::detail_mav::vmav) (size_t&)’ is ambiguous 249 | signal(i) = reduce(res, std::plus<>()); | ~~~~~~^~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h: In instantiation of ‘void ducc0::detail_totalconvolve::ConvolverPlan::deinterpolx(size_t, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with long unsigned int supp = 9; T = double; size_t = long unsigned int]’: ./src/ducc0/sht/totalconvolve.h:260:51: recursively required from ‘void ducc0::detail_totalconvolve::ConvolverPlan::deinterpolx(size_t, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with long unsigned int supp = 15; T = double; size_t = long unsigned int]’ 260 | if (supp_(supp_, cube, itheta0, iphi0, theta, phi, psi, signal); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/sht/totalconvolve.h:260:51: required from ‘void ducc0::detail_totalconvolve::ConvolverPlan::deinterpolx(size_t, const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with long unsigned int supp = 16; T = double; size_t = long unsigned int]’ ./src/ducc0/sht/totalconvolve.h:555:27: required from ‘void ducc0::detail_totalconvolve::ConvolverPlan::deinterpol(const ducc0::detail_mav::vmav&, size_t, size_t, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&) const [with T = double; size_t = long unsigned int]’ 555 | deinterpolx(kernel->support(), cube, itheta0, iphi0, theta, phi, psi, signal); | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/totalconvolve_pymod.cc:112:17: required from ‘void ducc0::detail_pymodule_totalconvolve::Py_ConvolverPlan::Py_deinterpol(pybind11::array&, size_t, size_t, const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::array&) [with T = double; size_t = long unsigned int]’ 112 | deinterpol(cube, itheta0, iphi0, theta, phi, psi, signal); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/totalconvolve_pymod.cc:801:33: required from here 801 | .def("deinterpol", &conv_d::Py_deinterpol, Py_ConvolverPlan_deinterpol_DS, | ^~~~~~~~~~~~~ ./src/ducc0/sht/totalconvolve.h:294:41: error: call of ‘(const ducc0::detail_mav::vmav) (long unsigned int&, size_t&, size_t&)’ is ambiguous 294 | T * DUCC0_RESTRICT ptr = &cube(ipsi,hlp.itheta,hlp.iphi); | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/sht/totalconvolve.h:352:28: error: call of ‘(const ducc0::detail_mav::vmav) (long unsigned int&, size_t&, size_t&)’ is ambiguous 352 | ptr = &cube(ipsi,hlp.itheta,hlp.iphi); | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int, long unsigned int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::HelperX2g2::dump() [with long unsigned int supp = 4; bool wgrid = true; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:997:25: required from ‘ducc0::detail_gridder::Wgridder::HelperX2g2::~HelperX2g2() [with long unsigned int supp = 4; bool wgrid = true; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 997 | ~HelperX2g2() { dump(); } | ^~~~ ./src/ducc0/wgridder/wgridder.h:1141:64: recursively required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 8; bool wgrid = true; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1141 | if (supp<=SUPP/2) return x2grid_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1141:64: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 16; bool wgrid = true; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ ./src/ducc0/wgridder/wgridder.h:1238:38: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c(const ducc0::detail_mav::vmav, 2>&, size_t, double) [with bool wgrid = true; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1238 | x2grid_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1439:25: required from ‘void ducc0::detail_gridder::Wgridder::x2dirty() [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1439 | x2grid_c(grid, pl, w); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:18: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = float; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = float; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:208:32: required from here 208 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 209 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 210 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 211 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:965:19: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (int&, int&)’ is ambiguous 965 | grid(idxu,idxv) += complex(Tcalc(bufr(iu,iv)), Tcalc(bufi(iu,iv))); | ~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:965:59: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 965 | grid(idxu,idxv) += complex(Tcalc(bufr(iu,iv)), Tcalc(bufi(iu,iv))); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:966:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 966 | bufr(iu,iv) = bufi(iu,iv) = 0; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:966:33: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 966 | bufr(iu,iv) = bufi(iu,iv) = 0; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::HelperX2g2::dump() [with long unsigned int supp = 7; bool wgrid = true; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:997:25: required from ‘ducc0::detail_gridder::Wgridder::HelperX2g2::~HelperX2g2() [with long unsigned int supp = 7; bool wgrid = true; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 997 | ~HelperX2g2() { dump(); } | ^~~~ ./src/ducc0/wgridder/wgridder.h:1152:32: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 7; bool wgrid = true; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1152 | HelperX2g2 hlp(this, grid, locks, w0, dw); | ^~~ ./src/ducc0/wgridder/wgridder.h:1143:61: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 8; bool wgrid = true; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1143 | if (supp(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1141:64: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 16; bool wgrid = true; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1141 | if (supp<=SUPP/2) return x2grid_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1238:38: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c(const ducc0::detail_mav::vmav, 2>&, size_t, double) [with bool wgrid = true; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1238 | x2grid_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1439:25: required from ‘void ducc0::detail_gridder::Wgridder::x2dirty() [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1439 | x2grid_c(grid, pl, w); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:18: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = float; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = float; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:208:32: required from here 208 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 209 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 210 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 211 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:965:19: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (int&, int&)’ is ambiguous 965 | grid(idxu,idxv) += complex(Tcalc(bufr(iu,iv)), Tcalc(bufi(iu,iv))); | ~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:965:59: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 965 | grid(idxu,idxv) += complex(Tcalc(bufr(iu,iv)), Tcalc(bufi(iu,iv))); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:966:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 966 | bufr(iu,iv) = bufi(iu,iv) = 0; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:966:33: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 966 | bufr(iu,iv) = bufi(iu,iv) = 0; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::HelperX2g2::dump() [with long unsigned int supp = 14; bool wgrid = true; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:997:25: required from ‘ducc0::detail_gridder::Wgridder::HelperX2g2::~HelperX2g2() [with long unsigned int supp = 14; bool wgrid = true; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 997 | ~HelperX2g2() { dump(); } | ^~~~ ./src/ducc0/wgridder/wgridder.h:1143:61: recursively required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 15; bool wgrid = true; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1143 | if (supp(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1143:61: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 16; bool wgrid = true; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ ./src/ducc0/wgridder/wgridder.h:1238:38: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c(const ducc0::detail_mav::vmav, 2>&, size_t, double) [with bool wgrid = true; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1238 | x2grid_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1439:25: required from ‘void ducc0::detail_gridder::Wgridder::x2dirty() [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1439 | x2grid_c(grid, pl, w); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:18: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = float; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = float; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:208:32: required from here 208 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 209 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 210 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 211 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:965:19: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (int&, int&)’ is ambiguous 965 | grid(idxu,idxv) += complex(Tcalc(bufr(iu,iv)), Tcalc(bufi(iu,iv))); | ~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:965:59: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 965 | grid(idxu,idxv) += complex(Tcalc(bufr(iu,iv)), Tcalc(bufi(iu,iv))); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:966:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 966 | bufr(iu,iv) = bufi(iu,iv) = 0; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:966:33: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 966 | bufr(iu,iv) = bufi(iu,iv) = 0; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::HelperX2g2::dump() [with long unsigned int supp = 4; bool wgrid = false; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:997:25: required from ‘ducc0::detail_gridder::Wgridder::HelperX2g2::~HelperX2g2() [with long unsigned int supp = 4; bool wgrid = false; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 997 | ~HelperX2g2() { dump(); } | ^~~~ ./src/ducc0/wgridder/wgridder.h:1141:64: recursively required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 8; bool wgrid = false; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1141 | if (supp<=SUPP/2) return x2grid_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1141:64: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 16; bool wgrid = false; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ ./src/ducc0/wgridder/wgridder.h:1238:38: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c(const ducc0::detail_mav::vmav, 2>&, size_t, double) [with bool wgrid = false; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1238 | x2grid_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1451:24: required from ‘void ducc0::detail_gridder::Wgridder::x2dirty() [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1451 | x2grid_c(grid, 0); | ~~~~~~~~~~~~~~~^~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:18: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = float; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = float; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:208:32: required from here 208 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 209 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 210 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 211 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:965:19: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (int&, int&)’ is ambiguous 965 | grid(idxu,idxv) += complex(Tcalc(bufr(iu,iv)), Tcalc(bufi(iu,iv))); | ~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:965:59: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 965 | grid(idxu,idxv) += complex(Tcalc(bufr(iu,iv)), Tcalc(bufi(iu,iv))); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:966:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 966 | bufr(iu,iv) = bufi(iu,iv) = 0; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:966:33: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 966 | bufr(iu,iv) = bufi(iu,iv) = 0; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::HelperX2g2::dump() [with long unsigned int supp = 7; bool wgrid = false; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:997:25: required from ‘ducc0::detail_gridder::Wgridder::HelperX2g2::~HelperX2g2() [with long unsigned int supp = 7; bool wgrid = false; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 997 | ~HelperX2g2() { dump(); } | ^~~~ ./src/ducc0/wgridder/wgridder.h:1152:32: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 7; bool wgrid = false; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1152 | HelperX2g2 hlp(this, grid, locks, w0, dw); | ^~~ ./src/ducc0/wgridder/wgridder.h:1143:61: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 8; bool wgrid = false; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1143 | if (supp(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1141:64: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 16; bool wgrid = false; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1141 | if (supp<=SUPP/2) return x2grid_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1238:38: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c(const ducc0::detail_mav::vmav, 2>&, size_t, double) [with bool wgrid = false; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1238 | x2grid_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1451:24: required from ‘void ducc0::detail_gridder::Wgridder::x2dirty() [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1451 | x2grid_c(grid, 0); | ~~~~~~~~~~~~~~~^~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:18: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = float; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = float; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:208:32: required from here 208 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 209 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 210 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 211 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:965:19: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (int&, int&)’ is ambiguous 965 | grid(idxu,idxv) += complex(Tcalc(bufr(iu,iv)), Tcalc(bufi(iu,iv))); | ~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:965:59: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 965 | grid(idxu,idxv) += complex(Tcalc(bufr(iu,iv)), Tcalc(bufi(iu,iv))); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:966:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 966 | bufr(iu,iv) = bufi(iu,iv) = 0; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:966:33: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 966 | bufr(iu,iv) = bufi(iu,iv) = 0; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::HelperX2g2::dump() [with long unsigned int supp = 14; bool wgrid = false; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:997:25: required from ‘ducc0::detail_gridder::Wgridder::HelperX2g2::~HelperX2g2() [with long unsigned int supp = 14; bool wgrid = false; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 997 | ~HelperX2g2() { dump(); } | ^~~~ ./src/ducc0/wgridder/wgridder.h:1143:61: recursively required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 15; bool wgrid = false; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1143 | if (supp(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1143:61: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 16; bool wgrid = false; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ ./src/ducc0/wgridder/wgridder.h:1238:38: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c(const ducc0::detail_mav::vmav, 2>&, size_t, double) [with bool wgrid = false; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1238 | x2grid_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1451:24: required from ‘void ducc0::detail_gridder::Wgridder::x2dirty() [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1451 | x2grid_c(grid, 0); | ~~~~~~~~~~~~~~~^~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:18: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = float; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = float; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:208:32: required from here 208 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 209 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 210 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 211 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:965:19: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (int&, int&)’ is ambiguous 965 | grid(idxu,idxv) += complex(Tcalc(bufr(iu,iv)), Tcalc(bufi(iu,iv))); | ~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:965:59: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 965 | grid(idxu,idxv) += complex(Tcalc(bufr(iu,iv)), Tcalc(bufi(iu,iv))); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:966:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 966 | bufr(iu,iv) = bufi(iu,iv) = 0; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:966:33: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 966 | bufr(iu,iv) = bufi(iu,iv) = 0; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::HelperG2x2::load() [with long unsigned int supp = 6; bool wgrid = true; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:1113:13: required from ‘void ducc0::detail_gridder::Wgridder::HelperG2x2::prep(const ducc0::detail_gridder::UVW&, size_t) [with long unsigned int supp = 6; bool wgrid = true; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1113 | load(); | ^~~~ ./src/ducc0/wgridder/wgridder.h:1247:61: recursively required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 7; bool wgrid = true; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1247 | if (supp(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1247:61: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 8; bool wgrid = true; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ ./src/ducc0/wgridder/wgridder.h:1340:38: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c(const ducc0::detail_mav::cmav, 2>&, size_t, double) [with bool wgrid = true; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1340 | grid2x_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1479:25: required from ‘void ducc0::detail_gridder::Wgridder::dirty2x() [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1479 | grid2x_c(grid, pl, w); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:30: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = float; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = float; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:208:32: required from here 208 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 209 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 210 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 211 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1062:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 1062 | bufr(iu,iv) = grid(idxu, idxv).real(); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1063:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 1063 | bufi(iu,iv) = grid(idxu, idxv).imag(); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::HelperG2x2::load() [with long unsigned int supp = 6; bool wgrid = false; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:1113:13: required from ‘void ducc0::detail_gridder::Wgridder::HelperG2x2::prep(const ducc0::detail_gridder::UVW&, size_t) [with long unsigned int supp = 6; bool wgrid = false; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1113 | load(); | ^~~~ ./src/ducc0/wgridder/wgridder.h:1247:61: recursively required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 7; bool wgrid = false; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1247 | if (supp(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1247:61: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 8; bool wgrid = false; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ ./src/ducc0/wgridder/wgridder.h:1340:38: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c(const ducc0::detail_mav::cmav, 2>&, size_t, double) [with bool wgrid = false; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1340 | grid2x_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1494:24: required from ‘void ducc0::detail_gridder::Wgridder::dirty2x() [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1494 | grid2x_c(grid, 0); | ~~~~~~~~~~~~~~~^~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:30: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = float; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = float; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:208:32: required from here 208 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 209 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 210 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 211 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1062:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 1062 | bufr(iu,iv) = grid(idxu, idxv).real(); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1063:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 1063 | bufi(iu,iv) = grid(idxu, idxv).imag(); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::HelperX2g2::dump() [with long unsigned int supp = 6; bool wgrid = true; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:997:25: required from ‘ducc0::detail_gridder::Wgridder::HelperX2g2::~HelperX2g2() [with long unsigned int supp = 6; bool wgrid = true; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 997 | ~HelperX2g2() { dump(); } | ^~~~ ./src/ducc0/wgridder/wgridder.h:1143:61: recursively required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 7; bool wgrid = true; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1143 | if (supp(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1143:61: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 8; bool wgrid = true; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ ./src/ducc0/wgridder/wgridder.h:1238:38: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c(const ducc0::detail_mav::vmav, 2>&, size_t, double) [with bool wgrid = true; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1238 | x2grid_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1439:25: required from ‘void ducc0::detail_gridder::Wgridder::x2dirty() [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1439 | x2grid_c(grid, pl, w); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:18: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = float; Tms = float; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = float; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:192:20: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = float; size_t = long unsigned int]’ 192 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 193 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 194 | sigma_max, center_x, center_y, allow_nshift); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:208:32: required from here 208 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 209 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 210 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 211 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:965:19: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (int&, int&)’ is ambiguous 965 | grid(idxu,idxv) += complex(Tcalc(bufr(iu,iv)), Tcalc(bufi(iu,iv))); | ~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:965:59: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 965 | grid(idxu,idxv) += complex(Tcalc(bufr(iu,iv)), Tcalc(bufi(iu,iv))); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:966:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 966 | bufr(iu,iv) = bufi(iu,iv) = 0; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:966:33: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 966 | bufr(iu,iv) = bufi(iu,iv) = 0; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::HelperX2g2::dump() [with long unsigned int supp = 6; bool wgrid = false; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:997:25: required from ‘ducc0::detail_gridder::Wgridder::HelperX2g2::~HelperX2g2() [with long unsigned int supp = 6; bool wgrid = false; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 997 | ~HelperX2g2() { dump(); } | ^~~~ ./src/ducc0/wgridder/wgridder.h:1143:61: recursively required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 7; bool wgrid = false; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1143 | if (supp(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1143:61: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 8; bool wgrid = false; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ ./src/ducc0/wgridder/wgridder.h:1238:38: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c(const ducc0::detail_mav::vmav, 2>&, size_t, double) [with bool wgrid = false; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1238 | x2grid_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1451:24: required from ‘void ducc0::detail_gridder::Wgridder::x2dirty() [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1451 | x2grid_c(grid, 0); | ~~~~~~~~~~~~~~~^~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:18: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = float; Tms = float; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = float; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:192:20: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = float; size_t = long unsigned int]’ 192 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 193 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 194 | sigma_max, center_x, center_y, allow_nshift); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:208:32: required from here 208 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 209 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 210 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 211 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:965:19: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (int&, int&)’ is ambiguous 965 | grid(idxu,idxv) += complex(Tcalc(bufr(iu,iv)), Tcalc(bufi(iu,iv))); | ~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:965:59: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 965 | grid(idxu,idxv) += complex(Tcalc(bufr(iu,iv)), Tcalc(bufi(iu,iv))); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:966:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 966 | bufr(iu,iv) = bufi(iu,iv) = 0; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:966:33: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 966 | bufr(iu,iv) = bufi(iu,iv) = 0; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::HelperG2x2::load() [with long unsigned int supp = 6; bool wgrid = true; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:1113:13: required from ‘void ducc0::detail_gridder::Wgridder::HelperG2x2::prep(const ducc0::detail_gridder::UVW&, size_t) [with long unsigned int supp = 6; bool wgrid = true; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1113 | load(); | ^~~~ ./src/ducc0/wgridder/wgridder.h:1247:61: recursively required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 7; bool wgrid = true; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1247 | if (supp(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1247:61: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 8; bool wgrid = true; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ ./src/ducc0/wgridder/wgridder.h:1340:38: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c(const ducc0::detail_mav::cmav, 2>&, size_t, double) [with bool wgrid = true; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1340 | grid2x_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1479:25: required from ‘void ducc0::detail_gridder::Wgridder::dirty2x() [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1479 | grid2x_c(grid, pl, w); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:30: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = float; Tms = float; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = float; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:192:20: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = float; size_t = long unsigned int]’ 192 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 193 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 194 | sigma_max, center_x, center_y, allow_nshift); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:208:32: required from here 208 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 209 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 210 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 211 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1062:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 1062 | bufr(iu,iv) = grid(idxu, idxv).real(); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1063:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 1063 | bufi(iu,iv) = grid(idxu, idxv).imag(); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::HelperG2x2::load() [with long unsigned int supp = 6; bool wgrid = false; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:1113:13: required from ‘void ducc0::detail_gridder::Wgridder::HelperG2x2::prep(const ducc0::detail_gridder::UVW&, size_t) [with long unsigned int supp = 6; bool wgrid = false; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1113 | load(); | ^~~~ ./src/ducc0/wgridder/wgridder.h:1247:61: recursively required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 7; bool wgrid = false; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1247 | if (supp(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1247:61: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 8; bool wgrid = false; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ ./src/ducc0/wgridder/wgridder.h:1340:38: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c(const ducc0::detail_mav::cmav, 2>&, size_t, double) [with bool wgrid = false; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1340 | grid2x_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1494:24: required from ‘void ducc0::detail_gridder::Wgridder::dirty2x() [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1494 | grid2x_c(grid, 0); | ~~~~~~~~~~~~~~~^~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:30: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = float; Tms = float; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = float; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:192:20: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = float; size_t = long unsigned int]’ 192 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 193 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 194 | sigma_max, center_x, center_y, allow_nshift); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:208:32: required from here 208 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 209 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 210 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 211 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1062:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 1062 | bufr(iu,iv) = grid(idxu, idxv).real(); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1063:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 1063 | bufi(iu,iv) = grid(idxu, idxv).imag(); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::HelperX2g2::dump() [with long unsigned int supp = 4; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:997:25: required from ‘ducc0::detail_gridder::Wgridder::HelperX2g2::~HelperX2g2() [with long unsigned int supp = 4; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’ 997 | ~HelperX2g2() { dump(); } | ^~~~ ./src/ducc0/wgridder/wgridder.h:1141:64: recursively required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 8; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1141 | if (supp<=SUPP/2) return x2grid_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1141:64: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 16; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ ./src/ducc0/wgridder/wgridder.h:1238:38: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c(const ducc0::detail_mav::vmav, 2>&, size_t, double) [with bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1238 | x2grid_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1439:25: required from ‘void ducc0::detail_gridder::Wgridder::x2dirty() [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1439 | x2grid_c(grid, pl, w); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:18: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = double; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = double; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:213:33: required from here 213 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 214 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 215 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 216 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:965:19: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (int&, int&)’ is ambiguous 965 | grid(idxu,idxv) += complex(Tcalc(bufr(iu,iv)), Tcalc(bufi(iu,iv))); | ~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:965:59: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 965 | grid(idxu,idxv) += complex(Tcalc(bufr(iu,iv)), Tcalc(bufi(iu,iv))); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:966:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 966 | bufr(iu,iv) = bufi(iu,iv) = 0; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:966:33: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 966 | bufr(iu,iv) = bufi(iu,iv) = 0; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::HelperX2g2::dump() [with long unsigned int supp = 7; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:997:25: required from ‘ducc0::detail_gridder::Wgridder::HelperX2g2::~HelperX2g2() [with long unsigned int supp = 7; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’ 997 | ~HelperX2g2() { dump(); } | ^~~~ ./src/ducc0/wgridder/wgridder.h:1152:32: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 7; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1152 | HelperX2g2 hlp(this, grid, locks, w0, dw); | ^~~ ./src/ducc0/wgridder/wgridder.h:1143:61: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 8; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1143 | if (supp(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1141:64: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 16; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1141 | if (supp<=SUPP/2) return x2grid_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1238:38: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c(const ducc0::detail_mav::vmav, 2>&, size_t, double) [with bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1238 | x2grid_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1439:25: required from ‘void ducc0::detail_gridder::Wgridder::x2dirty() [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1439 | x2grid_c(grid, pl, w); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:18: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = double; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = double; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:213:33: required from here 213 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 214 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 215 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 216 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:965:19: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (int&, int&)’ is ambiguous 965 | grid(idxu,idxv) += complex(Tcalc(bufr(iu,iv)), Tcalc(bufi(iu,iv))); | ~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:965:59: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 965 | grid(idxu,idxv) += complex(Tcalc(bufr(iu,iv)), Tcalc(bufi(iu,iv))); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:966:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 966 | bufr(iu,iv) = bufi(iu,iv) = 0; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:966:33: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 966 | bufr(iu,iv) = bufi(iu,iv) = 0; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::HelperX2g2::dump() [with long unsigned int supp = 14; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:997:25: required from ‘ducc0::detail_gridder::Wgridder::HelperX2g2::~HelperX2g2() [with long unsigned int supp = 14; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’ 997 | ~HelperX2g2() { dump(); } | ^~~~ ./src/ducc0/wgridder/wgridder.h:1143:61: recursively required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 15; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1143 | if (supp(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1143:61: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 16; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ ./src/ducc0/wgridder/wgridder.h:1238:38: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c(const ducc0::detail_mav::vmav, 2>&, size_t, double) [with bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1238 | x2grid_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1439:25: required from ‘void ducc0::detail_gridder::Wgridder::x2dirty() [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1439 | x2grid_c(grid, pl, w); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:18: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = double; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = double; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:213:33: required from here 213 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 214 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 215 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 216 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:965:19: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (int&, int&)’ is ambiguous 965 | grid(idxu,idxv) += complex(Tcalc(bufr(iu,iv)), Tcalc(bufi(iu,iv))); | ~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:965:59: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 965 | grid(idxu,idxv) += complex(Tcalc(bufr(iu,iv)), Tcalc(bufi(iu,iv))); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:966:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 966 | bufr(iu,iv) = bufi(iu,iv) = 0; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:966:33: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 966 | bufr(iu,iv) = bufi(iu,iv) = 0; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::HelperX2g2::dump() [with long unsigned int supp = 4; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:997:25: required from ‘ducc0::detail_gridder::Wgridder::HelperX2g2::~HelperX2g2() [with long unsigned int supp = 4; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’ 997 | ~HelperX2g2() { dump(); } | ^~~~ ./src/ducc0/wgridder/wgridder.h:1141:64: recursively required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 8; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1141 | if (supp<=SUPP/2) return x2grid_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1141:64: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 16; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ ./src/ducc0/wgridder/wgridder.h:1238:38: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c(const ducc0::detail_mav::vmav, 2>&, size_t, double) [with bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1238 | x2grid_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1451:24: required from ‘void ducc0::detail_gridder::Wgridder::x2dirty() [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1451 | x2grid_c(grid, 0); | ~~~~~~~~~~~~~~~^~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:18: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = double; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = double; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:213:33: required from here 213 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 214 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 215 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 216 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:965:19: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (int&, int&)’ is ambiguous 965 | grid(idxu,idxv) += complex(Tcalc(bufr(iu,iv)), Tcalc(bufi(iu,iv))); | ~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:965:59: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 965 | grid(idxu,idxv) += complex(Tcalc(bufr(iu,iv)), Tcalc(bufi(iu,iv))); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:966:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 966 | bufr(iu,iv) = bufi(iu,iv) = 0; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:966:33: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 966 | bufr(iu,iv) = bufi(iu,iv) = 0; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::HelperX2g2::dump() [with long unsigned int supp = 7; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:997:25: required from ‘ducc0::detail_gridder::Wgridder::HelperX2g2::~HelperX2g2() [with long unsigned int supp = 7; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’ 997 | ~HelperX2g2() { dump(); } | ^~~~ ./src/ducc0/wgridder/wgridder.h:1152:32: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 7; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1152 | HelperX2g2 hlp(this, grid, locks, w0, dw); | ^~~ ./src/ducc0/wgridder/wgridder.h:1143:61: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 8; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1143 | if (supp(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1141:64: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 16; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1141 | if (supp<=SUPP/2) return x2grid_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1238:38: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c(const ducc0::detail_mav::vmav, 2>&, size_t, double) [with bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1238 | x2grid_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1451:24: required from ‘void ducc0::detail_gridder::Wgridder::x2dirty() [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1451 | x2grid_c(grid, 0); | ~~~~~~~~~~~~~~~^~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:18: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = double; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = double; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:213:33: required from here 213 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 214 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 215 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 216 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:965:19: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (int&, int&)’ is ambiguous 965 | grid(idxu,idxv) += complex(Tcalc(bufr(iu,iv)), Tcalc(bufi(iu,iv))); | ~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:965:59: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 965 | grid(idxu,idxv) += complex(Tcalc(bufr(iu,iv)), Tcalc(bufi(iu,iv))); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:966:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 966 | bufr(iu,iv) = bufi(iu,iv) = 0; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:966:33: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 966 | bufr(iu,iv) = bufi(iu,iv) = 0; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::HelperX2g2::dump() [with long unsigned int supp = 14; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:997:25: required from ‘ducc0::detail_gridder::Wgridder::HelperX2g2::~HelperX2g2() [with long unsigned int supp = 14; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’ 997 | ~HelperX2g2() { dump(); } | ^~~~ ./src/ducc0/wgridder/wgridder.h:1143:61: recursively required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 15; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1143 | if (supp(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1143:61: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 16; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ ./src/ducc0/wgridder/wgridder.h:1238:38: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c(const ducc0::detail_mav::vmav, 2>&, size_t, double) [with bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1238 | x2grid_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1451:24: required from ‘void ducc0::detail_gridder::Wgridder::x2dirty() [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1451 | x2grid_c(grid, 0); | ~~~~~~~~~~~~~~~^~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:18: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = double; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = double; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:213:33: required from here 213 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 214 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 215 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 216 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:965:19: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (int&, int&)’ is ambiguous 965 | grid(idxu,idxv) += complex(Tcalc(bufr(iu,iv)), Tcalc(bufi(iu,iv))); | ~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:965:59: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 965 | grid(idxu,idxv) += complex(Tcalc(bufr(iu,iv)), Tcalc(bufi(iu,iv))); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:966:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 966 | bufr(iu,iv) = bufi(iu,iv) = 0; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:966:33: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 966 | bufr(iu,iv) = bufi(iu,iv) = 0; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::HelperG2x2::load() [with long unsigned int supp = 4; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:1113:13: required from ‘void ducc0::detail_gridder::Wgridder::HelperG2x2::prep(const ducc0::detail_gridder::UVW&, size_t) [with long unsigned int supp = 4; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1113 | load(); | ^~~~ ./src/ducc0/wgridder/wgridder.h:1245:64: recursively required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 8; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1245 | if (supp<=SUPP/2) return grid2x_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1245:64: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 16; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ ./src/ducc0/wgridder/wgridder.h:1340:38: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c(const ducc0::detail_mav::cmav, 2>&, size_t, double) [with bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1340 | grid2x_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1479:25: required from ‘void ducc0::detail_gridder::Wgridder::dirty2x() [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1479 | grid2x_c(grid, pl, w); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:30: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = double; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = double; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:213:33: required from here 213 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 214 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 215 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 216 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1062:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 1062 | bufr(iu,iv) = grid(idxu, idxv).real(); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1063:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 1063 | bufi(iu,iv) = grid(idxu, idxv).imag(); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 5; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’: ./src/ducc0/wgridder/wgridder.h:1247:61: recursively required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 7; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1247 | if (supp(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1247:61: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 8; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ ./src/ducc0/wgridder/wgridder.h:1245:64: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 16; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1245 | if (supp<=SUPP/2) return grid2x_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1340:38: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c(const ducc0::detail_mav::cmav, 2>&, size_t, double) [with bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1340 | grid2x_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1479:25: required from ‘void ducc0::detail_gridder::Wgridder::dirty2x() [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1479 | grid2x_c(grid, pl, w); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:30: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = double; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = double; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:213:33: required from here 213 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 214 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 215 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 216 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1322:45: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 1322 | if (!firstplane) r += ms_out(row, ch); | ~~~~~~^~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1327:23: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 1327 | ms_out(row, ch) = r; | ~~~~~~^~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::HelperG2x2::load() [with long unsigned int supp = 7; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:1113:13: required from ‘void ducc0::detail_gridder::Wgridder::HelperG2x2::prep(const ducc0::detail_gridder::UVW&, size_t) [with long unsigned int supp = 7; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1113 | load(); | ^~~~ ./src/ducc0/wgridder/wgridder.h:1290:25: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 7; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1290 | hlp.prep(coord, nth); | ~~~~~~~~^~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1247:61: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 8; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1247 | if (supp(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1245:64: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 16; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1245 | if (supp<=SUPP/2) return grid2x_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1340:38: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c(const ducc0::detail_mav::cmav, 2>&, size_t, double) [with bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1340 | grid2x_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1479:25: required from ‘void ducc0::detail_gridder::Wgridder::dirty2x() [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1479 | grid2x_c(grid, pl, w); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:30: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = double; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = double; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:213:33: required from here 213 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 214 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 215 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 216 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1062:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 1062 | bufr(iu,iv) = grid(idxu, idxv).real(); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1063:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 1063 | bufi(iu,iv) = grid(idxu, idxv).imag(); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 12; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’: ./src/ducc0/wgridder/wgridder.h:1247:61: recursively required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 15; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1247 | if (supp(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1247:61: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 16; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ ./src/ducc0/wgridder/wgridder.h:1340:38: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c(const ducc0::detail_mav::cmav, 2>&, size_t, double) [with bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1340 | grid2x_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1479:25: required from ‘void ducc0::detail_gridder::Wgridder::dirty2x() [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1479 | grid2x_c(grid, pl, w); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:30: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = double; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = double; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:213:33: required from here 213 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 214 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 215 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 216 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1322:45: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 1322 | if (!firstplane) r += ms_out(row, ch); | ~~~~~~^~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1327:23: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 1327 | ms_out(row, ch) = r; | ~~~~~~^~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::HelperG2x2::load() [with long unsigned int supp = 14; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:1113:13: required from ‘void ducc0::detail_gridder::Wgridder::HelperG2x2::prep(const ducc0::detail_gridder::UVW&, size_t) [with long unsigned int supp = 14; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1113 | load(); | ^~~~ ./src/ducc0/wgridder/wgridder.h:1247:61: recursively required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 15; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1247 | if (supp(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1247:61: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 16; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ ./src/ducc0/wgridder/wgridder.h:1340:38: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c(const ducc0::detail_mav::cmav, 2>&, size_t, double) [with bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1340 | grid2x_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1479:25: required from ‘void ducc0::detail_gridder::Wgridder::dirty2x() [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1479 | grid2x_c(grid, pl, w); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:30: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = double; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = double; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:213:33: required from here 213 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 214 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 215 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 216 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1062:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 1062 | bufr(iu,iv) = grid(idxu, idxv).real(); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1063:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 1063 | bufi(iu,iv) = grid(idxu, idxv).imag(); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::HelperG2x2::load() [with long unsigned int supp = 4; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:1113:13: required from ‘void ducc0::detail_gridder::Wgridder::HelperG2x2::prep(const ducc0::detail_gridder::UVW&, size_t) [with long unsigned int supp = 4; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1113 | load(); | ^~~~ ./src/ducc0/wgridder/wgridder.h:1245:64: recursively required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 8; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1245 | if (supp<=SUPP/2) return grid2x_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1245:64: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 16; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ ./src/ducc0/wgridder/wgridder.h:1340:38: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c(const ducc0::detail_mav::cmav, 2>&, size_t, double) [with bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1340 | grid2x_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1494:24: required from ‘void ducc0::detail_gridder::Wgridder::dirty2x() [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1494 | grid2x_c(grid, 0); | ~~~~~~~~~~~~~~~^~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:30: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = double; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = double; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:213:33: required from here 213 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 214 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 215 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 216 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1062:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 1062 | bufr(iu,iv) = grid(idxu, idxv).real(); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1063:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 1063 | bufi(iu,iv) = grid(idxu, idxv).imag(); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 5; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’: ./src/ducc0/wgridder/wgridder.h:1247:61: recursively required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 7; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1247 | if (supp(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1247:61: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 8; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ ./src/ducc0/wgridder/wgridder.h:1245:64: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 16; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1245 | if (supp<=SUPP/2) return grid2x_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1340:38: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c(const ducc0::detail_mav::cmav, 2>&, size_t, double) [with bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1340 | grid2x_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1494:24: required from ‘void ducc0::detail_gridder::Wgridder::dirty2x() [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1494 | grid2x_c(grid, 0); | ~~~~~~~~~~~~~~~^~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:30: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = double; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = double; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:213:33: required from here 213 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 214 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 215 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 216 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1322:45: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 1322 | if (!firstplane) r += ms_out(row, ch); | ~~~~~~^~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1327:23: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 1327 | ms_out(row, ch) = r; | ~~~~~~^~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::HelperG2x2::load() [with long unsigned int supp = 7; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:1113:13: required from ‘void ducc0::detail_gridder::Wgridder::HelperG2x2::prep(const ducc0::detail_gridder::UVW&, size_t) [with long unsigned int supp = 7; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1113 | load(); | ^~~~ ./src/ducc0/wgridder/wgridder.h:1290:25: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 7; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1290 | hlp.prep(coord, nth); | ~~~~~~~~^~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1247:61: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 8; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1247 | if (supp(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1245:64: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 16; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1245 | if (supp<=SUPP/2) return grid2x_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1340:38: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c(const ducc0::detail_mav::cmav, 2>&, size_t, double) [with bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1340 | grid2x_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1494:24: required from ‘void ducc0::detail_gridder::Wgridder::dirty2x() [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1494 | grid2x_c(grid, 0); | ~~~~~~~~~~~~~~~^~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:30: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = double; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = double; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:213:33: required from here 213 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 214 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 215 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 216 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1062:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 1062 | bufr(iu,iv) = grid(idxu, idxv).real(); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1063:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 1063 | bufi(iu,iv) = grid(idxu, idxv).imag(); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 12; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’: ./src/ducc0/wgridder/wgridder.h:1247:61: recursively required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 15; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1247 | if (supp(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1247:61: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 16; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ ./src/ducc0/wgridder/wgridder.h:1340:38: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c(const ducc0::detail_mav::cmav, 2>&, size_t, double) [with bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1340 | grid2x_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1494:24: required from ‘void ducc0::detail_gridder::Wgridder::dirty2x() [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1494 | grid2x_c(grid, 0); | ~~~~~~~~~~~~~~~^~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:30: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = double; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = double; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:213:33: required from here 213 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 214 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 215 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 216 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1322:45: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 1322 | if (!firstplane) r += ms_out(row, ch); | ~~~~~~^~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1327:23: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 1327 | ms_out(row, ch) = r; | ~~~~~~^~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::HelperG2x2::load() [with long unsigned int supp = 14; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:1113:13: required from ‘void ducc0::detail_gridder::Wgridder::HelperG2x2::prep(const ducc0::detail_gridder::UVW&, size_t) [with long unsigned int supp = 14; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1113 | load(); | ^~~~ ./src/ducc0/wgridder/wgridder.h:1247:61: recursively required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 15; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1247 | if (supp(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1247:61: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 16; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ ./src/ducc0/wgridder/wgridder.h:1340:38: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c(const ducc0::detail_mav::cmav, 2>&, size_t, double) [with bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1340 | grid2x_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1494:24: required from ‘void ducc0::detail_gridder::Wgridder::dirty2x() [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1494 | grid2x_c(grid, 0); | ~~~~~~~~~~~~~~~^~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:30: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = double; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = double; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:213:33: required from here 213 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 214 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 215 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 216 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1062:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 1062 | bufr(iu,iv) = grid(idxu, idxv).real(); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1063:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 1063 | bufi(iu,iv) = grid(idxu, idxv).imag(); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 4; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:426:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep_for_index(std::array) [with long unsigned int supp = 4; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 426 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:543:62: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 8; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 543 | if (supp<=SUPP/2) return interpolation_helper(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:543:62: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:318:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1433:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 1433 | if (si1) si1->interp(cmav,1>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = float; Tcoord = double; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:102:37: required from here 102 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 103 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:407:19: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&)’ is ambiguous 407 | { bufr(iu) = grid(idxu).real(); bufi(iu) = grid(idxu).imag(); } | ~~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int}; T = float; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int}; T = float; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:407:49: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&)’ is ambiguous 407 | { bufr(iu) = grid(idxu).real(); bufi(iu) = grid(idxu).imag(); } | ~~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int}; T = float; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int}; T = float; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 5; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:545:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 7; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 545 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:545:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 8; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:543:62: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 543 | if (supp<=SUPP/2) return interpolation_helper(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:318:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1433:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 1433 | if (si1) si1->interp(cmav,1>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = float; Tcoord = double; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:102:37: required from here 102 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 103 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:602:21: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 602 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:627:19: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 627 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 7; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:426:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep_for_index(std::array) [with long unsigned int supp = 7; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 426 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:591:33: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 7; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 591 | hlp.prep_for_index(index[k]); | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:545:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 8; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 545 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:543:62: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 543 | if (supp<=SUPP/2) return interpolation_helper(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:318:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1433:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 1433 | if (si1) si1->interp(cmav,1>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = float; Tcoord = double; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:102:37: required from here 102 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 103 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:407:19: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&)’ is ambiguous 407 | { bufr(iu) = grid(idxu).real(); bufi(iu) = grid(idxu).imag(); } | ~~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int}; T = float; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int}; T = float; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:407:49: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&)’ is ambiguous 407 | { bufr(iu) = grid(idxu).real(); bufi(iu) = grid(idxu).imag(); } | ~~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int}; T = float; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int}; T = float; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 12; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:545:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 545 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:545:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:318:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1433:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 1433 | if (si1) si1->interp(cmav,1>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = float; Tcoord = double; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:102:37: required from here 102 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 103 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:602:21: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 602 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:627:19: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 627 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 14; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:426:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep_for_index(std::array) [with long unsigned int supp = 14; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 426 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:545:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 545 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:545:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:318:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1433:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 1433 | if (si1) si1->interp(cmav,1>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = float; Tcoord = double; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:102:37: required from here 102 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 103 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:407:19: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&)’ is ambiguous 407 | { bufr(iu) = grid(idxu).real(); bufi(iu) = grid(idxu).imag(); } | ~~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int}; T = float; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int}; T = float; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:407:49: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&)’ is ambiguous 407 | { bufr(iu) = grid(idxu).real(); bufi(iu) = grid(idxu).imag(); } | ~~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int}; T = float; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int}; T = float; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 4; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:799:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep(std::array) [with long unsigned int supp = 4; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 799 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:893:62: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 8; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 893 | if (supp<=SUPP/2) return interpolation_helper(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:893:62: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:653:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1434:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 1434 | if (si2) si2->interp(cmav,2>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = float; Tcoord = double; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:102:37: required from here 102 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 103 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:762:20: error: call of ‘(ducc0::detail_mav::vmav) (int64_t, int64_t&)’ is ambiguous 762 | bufri(2*iu ,iv) = grid(idxu, idxv).real(); | ~~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:763:20: error: call of ‘(ducc0::detail_mav::vmav) (int64_t, int64_t&)’ is ambiguous 763 | bufri(2*iu+1,iv) = grid(idxu, idxv).imag(); | ~~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 5; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:895:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 7; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 895 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:895:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 8; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:893:62: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 893 | if (supp<=SUPP/2) return interpolation_helper(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:653:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1434:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 1434 | if (si2) si2->interp(cmav,2>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = float; Tcoord = double; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:102:37: required from here 102 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 103 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:951:17: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 951 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 7; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:799:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep(std::array) [with long unsigned int supp = 7; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 799 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:919:28: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 7; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 919 | sorted ? hlp.prep({coords(ix,0), coords(ix,1)}) | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:895:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 8; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 895 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:893:62: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 893 | if (supp<=SUPP/2) return interpolation_helper(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:653:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1434:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 1434 | if (si2) si2->interp(cmav,2>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = float; Tcoord = double; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:102:37: required from here 102 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 103 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:762:20: error: call of ‘(ducc0::detail_mav::vmav) (int64_t, int64_t&)’ is ambiguous 762 | bufri(2*iu ,iv) = grid(idxu, idxv).real(); | ~~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:763:20: error: call of ‘(ducc0::detail_mav::vmav) (int64_t, int64_t&)’ is ambiguous 763 | bufri(2*iu+1,iv) = grid(idxu, idxv).imag(); | ~~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 12; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:895:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 895 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:895:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:653:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1434:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 1434 | if (si2) si2->interp(cmav,2>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = float; Tcoord = double; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:102:37: required from here 102 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 103 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:951:17: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 951 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 14; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:799:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep(std::array) [with long unsigned int supp = 14; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 799 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:895:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 895 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:895:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:653:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1434:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 1434 | if (si2) si2->interp(cmav,2>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = float; Tcoord = double; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:102:37: required from here 102 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 103 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:762:20: error: call of ‘(ducc0::detail_mav::vmav) (int64_t, int64_t&)’ is ambiguous 762 | bufri(2*iu ,iv) = grid(idxu, idxv).real(); | ~~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:763:20: error: call of ‘(ducc0::detail_mav::vmav) (int64_t, int64_t&)’ is ambiguous 763 | bufri(2*iu+1,iv) = grid(idxu, idxv).imag(); | ~~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 4; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:1171:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep(std::array) [with long unsigned int supp = 4; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 1171 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:1272:62: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 8; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 1272 | if (supp<=SUPP/2) return interpolation_helper(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1272:62: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:979:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1435:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 1435 | if (si3) si3->interp(cmav,3>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = float; Tcoord = double; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:102:37: required from here 102 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 103 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1130:22: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&, int64_t, int64_t&)’ is ambiguous 1130 | bufri(iu,2*iv,iw) = grid(idxu, idxv, idxw).real(); | ~~~~~^~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1131:22: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&, int64_t, int64_t&)’ is ambiguous 1131 | bufri(iu,2*iv+1,iw) = grid(idxu, idxv, idxw).imag(); | ~~~~~^~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 5; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:1274:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 7; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 1274 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1274:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 8; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:1272:62: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 1272 | if (supp<=SUPP/2) return interpolation_helper(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:979:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1435:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 1435 | if (si3) si3->interp(cmav,3>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = float; Tcoord = double; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:102:37: required from here 102 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 103 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1344:17: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 1344 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 7; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:1171:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep(std::array) [with long unsigned int supp = 7; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 1171 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:1300:28: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 7; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 1300 | sorted ? hlp.prep({coords(ix,0), coords(ix,1), coords(ix,2)}) | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1274:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 8; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 1274 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1272:62: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 1272 | if (supp<=SUPP/2) return interpolation_helper(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:979:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1435:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 1435 | if (si3) si3->interp(cmav,3>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = float; Tcoord = double; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:102:37: required from here 102 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 103 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1130:22: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&, int64_t, int64_t&)’ is ambiguous 1130 | bufri(iu,2*iv,iw) = grid(idxu, idxv, idxw).real(); | ~~~~~^~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1131:22: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&, int64_t, int64_t&)’ is ambiguous 1131 | bufri(iu,2*iv+1,iw) = grid(idxu, idxv, idxw).imag(); | ~~~~~^~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 12; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:1274:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 1274 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1274:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:979:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1435:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 1435 | if (si3) si3->interp(cmav,3>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = float; Tcoord = double; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:102:37: required from here 102 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 103 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1344:17: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 1344 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 14; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:1171:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep(std::array) [with long unsigned int supp = 14; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 1171 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:1274:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 1274 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1274:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:979:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1435:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 1435 | if (si3) si3->interp(cmav,3>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = float; Tcoord = double; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:102:37: required from here 102 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 103 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1130:22: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&, int64_t, int64_t&)’ is ambiguous 1130 | bufri(iu,2*iv,iw) = grid(idxu, idxv, idxw).real(); | ~~~~~^~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1131:22: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&, int64_t, int64_t&)’ is ambiguous 1131 | bufri(iu,2*iv+1,iw) = grid(idxu, idxv, idxw).imag(); | ~~~~~^~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 4; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:426:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep_for_index(std::array) [with long unsigned int supp = 4; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 426 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:543:62: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 8; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 543 | if (supp<=SUPP/2) return interpolation_helper(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:543:62: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:318:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1433:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 1433 | if (si1) si1->interp(cmav,1>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = double; Tcoord = float; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:108:37: required from here 108 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 109 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:407:19: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&)’ is ambiguous 407 | { bufr(iu) = grid(idxu).real(); bufi(iu) = grid(idxu).imag(); } | ~~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:407:49: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&)’ is ambiguous 407 | { bufr(iu) = grid(idxu).real(); bufi(iu) = grid(idxu).imag(); } | ~~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 5; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:545:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 7; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 545 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:545:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 8; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:543:62: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 543 | if (supp<=SUPP/2) return interpolation_helper(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:318:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1433:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 1433 | if (si1) si1->interp(cmav,1>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = double; Tcoord = float; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:108:37: required from here 108 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 109 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:602:21: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 602 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:627:19: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 627 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 7; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:426:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep_for_index(std::array) [with long unsigned int supp = 7; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 426 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:591:33: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 7; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 591 | hlp.prep_for_index(index[k]); | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:545:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 8; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 545 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:543:62: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 543 | if (supp<=SUPP/2) return interpolation_helper(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:318:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1433:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 1433 | if (si1) si1->interp(cmav,1>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = double; Tcoord = float; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:108:37: required from here 108 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 109 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:407:19: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&)’ is ambiguous 407 | { bufr(iu) = grid(idxu).real(); bufi(iu) = grid(idxu).imag(); } | ~~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:407:49: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&)’ is ambiguous 407 | { bufr(iu) = grid(idxu).real(); bufi(iu) = grid(idxu).imag(); } | ~~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 12; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:545:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 545 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:545:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:318:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1433:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 1433 | if (si1) si1->interp(cmav,1>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = double; Tcoord = float; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:108:37: required from here 108 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 109 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:602:21: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 602 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:627:19: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 627 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 14; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:426:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep_for_index(std::array) [with long unsigned int supp = 14; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 426 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:545:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 545 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:545:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:318:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1433:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 1433 | if (si1) si1->interp(cmav,1>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = double; Tcoord = float; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:108:37: required from here 108 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 109 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:407:19: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&)’ is ambiguous 407 | { bufr(iu) = grid(idxu).real(); bufi(iu) = grid(idxu).imag(); } | ~~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:407:49: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&)’ is ambiguous 407 | { bufr(iu) = grid(idxu).real(); bufi(iu) = grid(idxu).imag(); } | ~~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 4; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:799:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep(std::array) [with long unsigned int supp = 4; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 799 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:893:62: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 8; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 893 | if (supp<=SUPP/2) return interpolation_helper(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:893:62: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:653:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1434:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 1434 | if (si2) si2->interp(cmav,2>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = double; Tcoord = float; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:108:37: required from here 108 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 109 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:762:20: error: call of ‘(ducc0::detail_mav::vmav) (int64_t, int64_t&)’ is ambiguous 762 | bufri(2*iu ,iv) = grid(idxu, idxv).real(); | ~~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:763:20: error: call of ‘(ducc0::detail_mav::vmav) (int64_t, int64_t&)’ is ambiguous 763 | bufri(2*iu+1,iv) = grid(idxu, idxv).imag(); | ~~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 5; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:895:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 7; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 895 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:895:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 8; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:893:62: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 893 | if (supp<=SUPP/2) return interpolation_helper(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:653:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1434:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 1434 | if (si2) si2->interp(cmav,2>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = double; Tcoord = float; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:108:37: required from here 108 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 109 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:951:17: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 951 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 7; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:799:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep(std::array) [with long unsigned int supp = 7; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 799 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:919:28: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 7; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 919 | sorted ? hlp.prep({coords(ix,0), coords(ix,1)}) | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:895:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 8; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 895 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:893:62: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 893 | if (supp<=SUPP/2) return interpolation_helper(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:653:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1434:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 1434 | if (si2) si2->interp(cmav,2>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = double; Tcoord = float; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:108:37: required from here 108 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 109 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:762:20: error: call of ‘(ducc0::detail_mav::vmav) (int64_t, int64_t&)’ is ambiguous 762 | bufri(2*iu ,iv) = grid(idxu, idxv).real(); | ~~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:763:20: error: call of ‘(ducc0::detail_mav::vmav) (int64_t, int64_t&)’ is ambiguous 763 | bufri(2*iu+1,iv) = grid(idxu, idxv).imag(); | ~~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 12; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:895:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 895 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:895:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:653:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1434:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 1434 | if (si2) si2->interp(cmav,2>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = double; Tcoord = float; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:108:37: required from here 108 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 109 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:951:17: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 951 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 14; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:799:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep(std::array) [with long unsigned int supp = 14; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 799 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:895:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 895 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:895:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:653:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1434:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 1434 | if (si2) si2->interp(cmav,2>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = double; Tcoord = float; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:108:37: required from here 108 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 109 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:762:20: error: call of ‘(ducc0::detail_mav::vmav) (int64_t, int64_t&)’ is ambiguous 762 | bufri(2*iu ,iv) = grid(idxu, idxv).real(); | ~~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:763:20: error: call of ‘(ducc0::detail_mav::vmav) (int64_t, int64_t&)’ is ambiguous 763 | bufri(2*iu+1,iv) = grid(idxu, idxv).imag(); | ~~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 4; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:1171:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep(std::array) [with long unsigned int supp = 4; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 1171 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:1272:62: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 8; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 1272 | if (supp<=SUPP/2) return interpolation_helper(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1272:62: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:979:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1435:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 1435 | if (si3) si3->interp(cmav,3>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = double; Tcoord = float; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:108:37: required from here 108 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 109 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1130:22: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&, int64_t, int64_t&)’ is ambiguous 1130 | bufri(iu,2*iv,iw) = grid(idxu, idxv, idxw).real(); | ~~~~~^~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1131:22: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&, int64_t, int64_t&)’ is ambiguous 1131 | bufri(iu,2*iv+1,iw) = grid(idxu, idxv, idxw).imag(); | ~~~~~^~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 5; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:1274:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 7; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 1274 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1274:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 8; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:1272:62: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 1272 | if (supp<=SUPP/2) return interpolation_helper(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:979:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1435:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 1435 | if (si3) si3->interp(cmav,3>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = double; Tcoord = float; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:108:37: required from here 108 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 109 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1344:17: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 1344 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 7; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:1171:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep(std::array) [with long unsigned int supp = 7; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 1171 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:1300:28: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 7; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 1300 | sorted ? hlp.prep({coords(ix,0), coords(ix,1), coords(ix,2)}) | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1274:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 8; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 1274 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1272:62: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 1272 | if (supp<=SUPP/2) return interpolation_helper(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:979:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1435:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 1435 | if (si3) si3->interp(cmav,3>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = double; Tcoord = float; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:108:37: required from here 108 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 109 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1130:22: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&, int64_t, int64_t&)’ is ambiguous 1130 | bufri(iu,2*iv,iw) = grid(idxu, idxv, idxw).real(); | ~~~~~^~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1131:22: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&, int64_t, int64_t&)’ is ambiguous 1131 | bufri(iu,2*iv+1,iw) = grid(idxu, idxv, idxw).imag(); | ~~~~~^~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 12; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:1274:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 1274 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1274:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:979:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1435:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 1435 | if (si3) si3->interp(cmav,3>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = double; Tcoord = float; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:108:37: required from here 108 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 109 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1344:17: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 1344 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 14; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:1171:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep(std::array) [with long unsigned int supp = 14; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 1171 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:1274:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 1274 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1274:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:979:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1435:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 1435 | if (si3) si3->interp(cmav,3>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = double; Tcoord = float; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:108:37: required from here 108 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 109 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1130:22: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&, int64_t, int64_t&)’ is ambiguous 1130 | bufri(iu,2*iv,iw) = grid(idxu, idxv, idxw).real(); | ~~~~~^~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1131:22: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&, int64_t, int64_t&)’ is ambiguous 1131 | bufri(iu,2*iv+1,iw) = grid(idxu, idxv, idxw).imag(); | ~~~~~^~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 6; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:426:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep_for_index(std::array) [with long unsigned int supp = 6; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 426 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:545:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 7; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 545 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:545:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 8; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:543:62: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 543 | if (supp<=SUPP/2) return interpolation_helper(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:318:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1449:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 1449 | if (si1) si1->interp(cmav,1>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = double]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:500:35: required from here 500 | if (pd) return do_get_points(pd, coord, values, gridd); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:407:19: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&)’ is ambiguous 407 | { bufr(iu) = grid(idxu).real(); bufi(iu) = grid(idxu).imag(); } | ~~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:407:49: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&)’ is ambiguous 407 | { bufr(iu) = grid(idxu).real(); bufi(iu) = grid(idxu).imag(); } | ~~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 11; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:545:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 545 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:545:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:318:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1449:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 1449 | if (si1) si1->interp(cmav,1>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = double]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:500:35: required from here 500 | if (pd) return do_get_points(pd, coord, values, gridd); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:602:21: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 602 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:627:19: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 627 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 13; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:426:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep_for_index(std::array) [with long unsigned int supp = 13; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 426 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:545:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 545 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:545:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:318:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1449:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 1449 | if (si1) si1->interp(cmav,1>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = double]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:500:35: required from here 500 | if (pd) return do_get_points(pd, coord, values, gridd); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:407:19: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&)’ is ambiguous 407 | { bufr(iu) = grid(idxu).real(); bufi(iu) = grid(idxu).imag(); } | ~~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:407:49: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&)’ is ambiguous 407 | { bufr(iu) = grid(idxu).real(); bufi(iu) = grid(idxu).imag(); } | ~~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 6; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:799:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep(std::array) [with long unsigned int supp = 6; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 799 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:895:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 7; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 895 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:895:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 8; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:893:62: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 893 | if (supp<=SUPP/2) return interpolation_helper(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:653:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1450:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 1450 | if (si2) si2->interp(cmav,2>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = double]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:500:35: required from here 500 | if (pd) return do_get_points(pd, coord, values, gridd); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:762:20: error: call of ‘(ducc0::detail_mav::vmav) (int64_t, int64_t&)’ is ambiguous 762 | bufri(2*iu ,iv) = grid(idxu, idxv).real(); | ~~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:763:20: error: call of ‘(ducc0::detail_mav::vmav) (int64_t, int64_t&)’ is ambiguous 763 | bufri(2*iu+1,iv) = grid(idxu, idxv).imag(); | ~~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 11; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:895:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 895 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:895:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:653:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1450:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 1450 | if (si2) si2->interp(cmav,2>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = double]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:500:35: required from here 500 | if (pd) return do_get_points(pd, coord, values, gridd); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:951:17: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 951 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 13; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:799:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep(std::array) [with long unsigned int supp = 13; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 799 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:895:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 895 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:895:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:653:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1450:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 1450 | if (si2) si2->interp(cmav,2>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = double]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:500:35: required from here 500 | if (pd) return do_get_points(pd, coord, values, gridd); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:762:20: error: call of ‘(ducc0::detail_mav::vmav) (int64_t, int64_t&)’ is ambiguous 762 | bufri(2*iu ,iv) = grid(idxu, idxv).real(); | ~~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:763:20: error: call of ‘(ducc0::detail_mav::vmav) (int64_t, int64_t&)’ is ambiguous 763 | bufri(2*iu+1,iv) = grid(idxu, idxv).imag(); | ~~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 6; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:1171:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep(std::array) [with long unsigned int supp = 6; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 1171 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:1274:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 7; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 1274 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1274:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 8; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:1272:62: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 1272 | if (supp<=SUPP/2) return interpolation_helper(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:979:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1451:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 1451 | if (si3) si3->interp(cmav,3>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = double]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:500:35: required from here 500 | if (pd) return do_get_points(pd, coord, values, gridd); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1130:22: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&, int64_t, int64_t&)’ is ambiguous 1130 | bufri(iu,2*iv,iw) = grid(idxu, idxv, idxw).real(); | ~~~~~^~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1131:22: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&, int64_t, int64_t&)’ is ambiguous 1131 | bufri(iu,2*iv+1,iw) = grid(idxu, idxv, idxw).imag(); | ~~~~~^~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 11; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:1274:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 1274 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1274:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:979:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1451:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 1451 | if (si3) si3->interp(cmav,3>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = double]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:500:35: required from here 500 | if (pd) return do_get_points(pd, coord, values, gridd); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1344:17: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 1344 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 13; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:1171:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep(std::array) [with long unsigned int supp = 13; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 1171 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:1274:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 1274 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1274:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:979:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1451:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 1451 | if (si3) si3->interp(cmav,3>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = double]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:500:35: required from here 500 | if (pd) return do_get_points(pd, coord, values, gridd); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1130:22: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&, int64_t, int64_t&)’ is ambiguous 1130 | bufri(iu,2*iv,iw) = grid(idxu, idxv, idxw).real(); | ~~~~~^~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1131:22: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&, int64_t, int64_t&)’ is ambiguous 1131 | bufri(iu,2*iv+1,iw) = grid(idxu, idxv, idxw).imag(); | ~~~~~^~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 6; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:426:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep_for_index(std::array) [with long unsigned int supp = 6; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 426 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:545:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 7; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 545 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:545:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 8; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:543:62: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 543 | if (supp<=SUPP/2) return interpolation_helper(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:318:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1449:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 1449 | if (si1) si1->interp(cmav,1>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = float]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:501:35: required from here 501 | if (pf) return do_get_points(pf, coord, values, gridf); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:407:19: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&)’ is ambiguous 407 | { bufr(iu) = grid(idxu).real(); bufi(iu) = grid(idxu).imag(); } | ~~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int}; T = float; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int}; T = float; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:407:49: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&)’ is ambiguous 407 | { bufr(iu) = grid(idxu).real(); bufi(iu) = grid(idxu).imag(); } | ~~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int}; T = float; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int}; T = float; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 11; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:545:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 545 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:545:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:318:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1449:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 1449 | if (si1) si1->interp(cmav,1>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = float]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:501:35: required from here 501 | if (pf) return do_get_points(pf, coord, values, gridf); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:602:21: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 602 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:627:19: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 627 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 13; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:426:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep_for_index(std::array) [with long unsigned int supp = 13; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 426 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:545:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 545 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:545:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:318:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1449:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 1449 | if (si1) si1->interp(cmav,1>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = float]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:501:35: required from here 501 | if (pf) return do_get_points(pf, coord, values, gridf); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:407:19: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&)’ is ambiguous 407 | { bufr(iu) = grid(idxu).real(); bufi(iu) = grid(idxu).imag(); } | ~~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int}; T = float; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int}; T = float; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:407:49: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&)’ is ambiguous 407 | { bufr(iu) = grid(idxu).real(); bufi(iu) = grid(idxu).imag(); } | ~~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int}; T = float; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int}; T = float; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 6; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:799:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep(std::array) [with long unsigned int supp = 6; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 799 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:895:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 7; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 895 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:895:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 8; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:893:62: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 893 | if (supp<=SUPP/2) return interpolation_helper(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:653:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1450:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 1450 | if (si2) si2->interp(cmav,2>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = float]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:501:35: required from here 501 | if (pf) return do_get_points(pf, coord, values, gridf); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:762:20: error: call of ‘(ducc0::detail_mav::vmav) (int64_t, int64_t&)’ is ambiguous 762 | bufri(2*iu ,iv) = grid(idxu, idxv).real(); | ~~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:763:20: error: call of ‘(ducc0::detail_mav::vmav) (int64_t, int64_t&)’ is ambiguous 763 | bufri(2*iu+1,iv) = grid(idxu, idxv).imag(); | ~~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 11; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:895:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 895 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:895:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:653:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1450:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 1450 | if (si2) si2->interp(cmav,2>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = float]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:501:35: required from here 501 | if (pf) return do_get_points(pf, coord, values, gridf); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:951:17: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 951 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 13; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:799:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep(std::array) [with long unsigned int supp = 13; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 799 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:895:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 895 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:895:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:653:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1450:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 1450 | if (si2) si2->interp(cmav,2>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = float]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:501:35: required from here 501 | if (pf) return do_get_points(pf, coord, values, gridf); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:762:20: error: call of ‘(ducc0::detail_mav::vmav) (int64_t, int64_t&)’ is ambiguous 762 | bufri(2*iu ,iv) = grid(idxu, idxv).real(); | ~~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:763:20: error: call of ‘(ducc0::detail_mav::vmav) (int64_t, int64_t&)’ is ambiguous 763 | bufri(2*iu+1,iv) = grid(idxu, idxv).imag(); | ~~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 6; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:1171:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep(std::array) [with long unsigned int supp = 6; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 1171 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:1274:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 7; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 1274 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1274:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 8; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:1272:62: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 1272 | if (supp<=SUPP/2) return interpolation_helper(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:979:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1451:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 1451 | if (si3) si3->interp(cmav,3>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = float]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:501:35: required from here 501 | if (pf) return do_get_points(pf, coord, values, gridf); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1130:22: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&, int64_t, int64_t&)’ is ambiguous 1130 | bufri(iu,2*iv,iw) = grid(idxu, idxv, idxw).real(); | ~~~~~^~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1131:22: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&, int64_t, int64_t&)’ is ambiguous 1131 | bufri(iu,2*iv+1,iw) = grid(idxu, idxv, idxw).imag(); | ~~~~~^~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 11; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:1274:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 1274 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1274:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:979:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1451:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 1451 | if (si3) si3->interp(cmav,3>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = float]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:501:35: required from here 501 | if (pf) return do_get_points(pf, coord, values, gridf); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1344:17: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 1344 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 13; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:1171:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep(std::array) [with long unsigned int supp = 13; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 1171 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:1274:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 1274 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1274:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:979:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1451:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 1451 | if (si3) si3->interp(cmav,3>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = float]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:501:35: required from here 501 | if (pf) return do_get_points(pf, coord, values, gridf); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1130:22: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&, int64_t, int64_t&)’ is ambiguous 1130 | bufri(iu,2*iv,iw) = grid(idxu, idxv, idxw).real(); | ~~~~~^~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1131:22: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&, int64_t, int64_t&)’ is ambiguous 1131 | bufri(iu,2*iv+1,iw) = grid(idxu, idxv, idxw).imag(); | ~~~~~^~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::HelperX2g2::dump() [with long unsigned int supp = 6; bool wgrid = true; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:997:25: required from ‘ducc0::detail_gridder::Wgridder::HelperX2g2::~HelperX2g2() [with long unsigned int supp = 6; bool wgrid = true; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 997 | ~HelperX2g2() { dump(); } | ^~~~ ./src/ducc0/wgridder/wgridder.h:1143:61: recursively required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 7; bool wgrid = true; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1143 | if (supp(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1143:61: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 8; bool wgrid = true; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ ./src/ducc0/wgridder/wgridder.h:1141:64: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 16; bool wgrid = true; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1141 | if (supp<=SUPP/2) return x2grid_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1238:38: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c(const ducc0::detail_mav::vmav, 2>&, size_t, double) [with bool wgrid = true; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1238 | x2grid_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1439:25: required from ‘void ducc0::detail_gridder::Wgridder::x2dirty() [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1439 | x2grid_c(grid, pl, w); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:18: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = float; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = float; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:208:32: required from here 208 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 209 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 210 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 211 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:965:19: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (int&, int&)’ is ambiguous 965 | grid(idxu,idxv) += complex(Tcalc(bufr(iu,iv)), Tcalc(bufi(iu,iv))); | ~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:965:59: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 965 | grid(idxu,idxv) += complex(Tcalc(bufr(iu,iv)), Tcalc(bufi(iu,iv))); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:966:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 966 | bufr(iu,iv) = bufi(iu,iv) = 0; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:966:33: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 966 | bufr(iu,iv) = bufi(iu,iv) = 0; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::HelperX2g2::dump() [with long unsigned int supp = 13; bool wgrid = true; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:997:25: required from ‘ducc0::detail_gridder::Wgridder::HelperX2g2::~HelperX2g2() [with long unsigned int supp = 13; bool wgrid = true; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 997 | ~HelperX2g2() { dump(); } | ^~~~ ./src/ducc0/wgridder/wgridder.h:1143:61: recursively required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 15; bool wgrid = true; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1143 | if (supp(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1143:61: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 16; bool wgrid = true; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ ./src/ducc0/wgridder/wgridder.h:1238:38: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c(const ducc0::detail_mav::vmav, 2>&, size_t, double) [with bool wgrid = true; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1238 | x2grid_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1439:25: required from ‘void ducc0::detail_gridder::Wgridder::x2dirty() [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1439 | x2grid_c(grid, pl, w); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:18: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = float; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = float; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:208:32: required from here 208 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 209 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 210 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 211 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:965:19: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (int&, int&)’ is ambiguous 965 | grid(idxu,idxv) += complex(Tcalc(bufr(iu,iv)), Tcalc(bufi(iu,iv))); | ~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:965:59: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 965 | grid(idxu,idxv) += complex(Tcalc(bufr(iu,iv)), Tcalc(bufi(iu,iv))); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:966:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 966 | bufr(iu,iv) = bufi(iu,iv) = 0; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:966:33: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 966 | bufr(iu,iv) = bufi(iu,iv) = 0; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::HelperX2g2::dump() [with long unsigned int supp = 6; bool wgrid = false; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:997:25: required from ‘ducc0::detail_gridder::Wgridder::HelperX2g2::~HelperX2g2() [with long unsigned int supp = 6; bool wgrid = false; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 997 | ~HelperX2g2() { dump(); } | ^~~~ ./src/ducc0/wgridder/wgridder.h:1143:61: recursively required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 7; bool wgrid = false; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1143 | if (supp(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1143:61: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 8; bool wgrid = false; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ ./src/ducc0/wgridder/wgridder.h:1141:64: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 16; bool wgrid = false; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1141 | if (supp<=SUPP/2) return x2grid_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1238:38: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c(const ducc0::detail_mav::vmav, 2>&, size_t, double) [with bool wgrid = false; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1238 | x2grid_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1451:24: required from ‘void ducc0::detail_gridder::Wgridder::x2dirty() [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1451 | x2grid_c(grid, 0); | ~~~~~~~~~~~~~~~^~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:18: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = float; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = float; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:208:32: required from here 208 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 209 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 210 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 211 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:965:19: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (int&, int&)’ is ambiguous 965 | grid(idxu,idxv) += complex(Tcalc(bufr(iu,iv)), Tcalc(bufi(iu,iv))); | ~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:965:59: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 965 | grid(idxu,idxv) += complex(Tcalc(bufr(iu,iv)), Tcalc(bufi(iu,iv))); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:966:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 966 | bufr(iu,iv) = bufi(iu,iv) = 0; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:966:33: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 966 | bufr(iu,iv) = bufi(iu,iv) = 0; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::HelperX2g2::dump() [with long unsigned int supp = 13; bool wgrid = false; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:997:25: required from ‘ducc0::detail_gridder::Wgridder::HelperX2g2::~HelperX2g2() [with long unsigned int supp = 13; bool wgrid = false; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 997 | ~HelperX2g2() { dump(); } | ^~~~ ./src/ducc0/wgridder/wgridder.h:1143:61: recursively required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 15; bool wgrid = false; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1143 | if (supp(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1143:61: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 16; bool wgrid = false; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ ./src/ducc0/wgridder/wgridder.h:1238:38: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c(const ducc0::detail_mav::vmav, 2>&, size_t, double) [with bool wgrid = false; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1238 | x2grid_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1451:24: required from ‘void ducc0::detail_gridder::Wgridder::x2dirty() [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1451 | x2grid_c(grid, 0); | ~~~~~~~~~~~~~~~^~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:18: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = float; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = float; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:208:32: required from here 208 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 209 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 210 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 211 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:965:19: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (int&, int&)’ is ambiguous 965 | grid(idxu,idxv) += complex(Tcalc(bufr(iu,iv)), Tcalc(bufi(iu,iv))); | ~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:965:59: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 965 | grid(idxu,idxv) += complex(Tcalc(bufr(iu,iv)), Tcalc(bufi(iu,iv))); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:966:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 966 | bufr(iu,iv) = bufi(iu,iv) = 0; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:966:33: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 966 | bufr(iu,iv) = bufi(iu,iv) = 0; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::HelperG2x2::load() [with long unsigned int supp = 5; bool wgrid = true; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:1113:13: required from ‘void ducc0::detail_gridder::Wgridder::HelperG2x2::prep(const ducc0::detail_gridder::UVW&, size_t) [with long unsigned int supp = 5; bool wgrid = true; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1113 | load(); | ^~~~ ./src/ducc0/wgridder/wgridder.h:1247:61: recursively required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 7; bool wgrid = true; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1247 | if (supp(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1247:61: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 8; bool wgrid = true; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ ./src/ducc0/wgridder/wgridder.h:1340:38: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c(const ducc0::detail_mav::cmav, 2>&, size_t, double) [with bool wgrid = true; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1340 | grid2x_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1479:25: required from ‘void ducc0::detail_gridder::Wgridder::dirty2x() [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1479 | grid2x_c(grid, pl, w); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:30: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = float; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = float; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:208:32: required from here 208 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 209 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 210 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 211 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1062:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 1062 | bufr(iu,iv) = grid(idxu, idxv).real(); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1063:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 1063 | bufi(iu,iv) = grid(idxu, idxv).imag(); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::HelperG2x2::load() [with long unsigned int supp = 5; bool wgrid = false; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:1113:13: required from ‘void ducc0::detail_gridder::Wgridder::HelperG2x2::prep(const ducc0::detail_gridder::UVW&, size_t) [with long unsigned int supp = 5; bool wgrid = false; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1113 | load(); | ^~~~ ./src/ducc0/wgridder/wgridder.h:1247:61: recursively required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 7; bool wgrid = false; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1247 | if (supp(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1247:61: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 8; bool wgrid = false; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ ./src/ducc0/wgridder/wgridder.h:1340:38: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c(const ducc0::detail_mav::cmav, 2>&, size_t, double) [with bool wgrid = false; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1340 | grid2x_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1494:24: required from ‘void ducc0::detail_gridder::Wgridder::dirty2x() [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1494 | grid2x_c(grid, 0); | ~~~~~~~~~~~~~~~^~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:30: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = float; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = float; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:208:32: required from here 208 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 209 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 210 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 211 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1062:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 1062 | bufr(iu,iv) = grid(idxu, idxv).real(); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1063:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 1063 | bufi(iu,iv) = grid(idxu, idxv).imag(); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::HelperX2g2::dump() [with long unsigned int supp = 5; bool wgrid = true; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:997:25: required from ‘ducc0::detail_gridder::Wgridder::HelperX2g2::~HelperX2g2() [with long unsigned int supp = 5; bool wgrid = true; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 997 | ~HelperX2g2() { dump(); } | ^~~~ ./src/ducc0/wgridder/wgridder.h:1143:61: recursively required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 7; bool wgrid = true; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1143 | if (supp(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1143:61: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 8; bool wgrid = true; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ ./src/ducc0/wgridder/wgridder.h:1238:38: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c(const ducc0::detail_mav::vmav, 2>&, size_t, double) [with bool wgrid = true; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1238 | x2grid_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1439:25: required from ‘void ducc0::detail_gridder::Wgridder::x2dirty() [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1439 | x2grid_c(grid, pl, w); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:18: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = float; Tms = float; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = float; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:192:20: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = float; size_t = long unsigned int]’ 192 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 193 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 194 | sigma_max, center_x, center_y, allow_nshift); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:208:32: required from here 208 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 209 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 210 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 211 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:965:19: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (int&, int&)’ is ambiguous 965 | grid(idxu,idxv) += complex(Tcalc(bufr(iu,iv)), Tcalc(bufi(iu,iv))); | ~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:965:59: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 965 | grid(idxu,idxv) += complex(Tcalc(bufr(iu,iv)), Tcalc(bufi(iu,iv))); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:966:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 966 | bufr(iu,iv) = bufi(iu,iv) = 0; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:966:33: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 966 | bufr(iu,iv) = bufi(iu,iv) = 0; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::HelperX2g2::dump() [with long unsigned int supp = 5; bool wgrid = false; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:997:25: required from ‘ducc0::detail_gridder::Wgridder::HelperX2g2::~HelperX2g2() [with long unsigned int supp = 5; bool wgrid = false; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 997 | ~HelperX2g2() { dump(); } | ^~~~ ./src/ducc0/wgridder/wgridder.h:1143:61: recursively required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 7; bool wgrid = false; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1143 | if (supp(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1143:61: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 8; bool wgrid = false; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ ./src/ducc0/wgridder/wgridder.h:1238:38: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c(const ducc0::detail_mav::vmav, 2>&, size_t, double) [with bool wgrid = false; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1238 | x2grid_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1451:24: required from ‘void ducc0::detail_gridder::Wgridder::x2dirty() [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1451 | x2grid_c(grid, 0); | ~~~~~~~~~~~~~~~^~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:18: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = float; Tms = float; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = float; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:192:20: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = float; size_t = long unsigned int]’ 192 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 193 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 194 | sigma_max, center_x, center_y, allow_nshift); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:208:32: required from here 208 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 209 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 210 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 211 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:965:19: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (int&, int&)’ is ambiguous 965 | grid(idxu,idxv) += complex(Tcalc(bufr(iu,iv)), Tcalc(bufi(iu,iv))); | ~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:965:59: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 965 | grid(idxu,idxv) += complex(Tcalc(bufr(iu,iv)), Tcalc(bufi(iu,iv))); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:966:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 966 | bufr(iu,iv) = bufi(iu,iv) = 0; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:966:33: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 966 | bufr(iu,iv) = bufi(iu,iv) = 0; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::HelperG2x2::load() [with long unsigned int supp = 5; bool wgrid = true; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:1113:13: required from ‘void ducc0::detail_gridder::Wgridder::HelperG2x2::prep(const ducc0::detail_gridder::UVW&, size_t) [with long unsigned int supp = 5; bool wgrid = true; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1113 | load(); | ^~~~ ./src/ducc0/wgridder/wgridder.h:1247:61: recursively required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 7; bool wgrid = true; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1247 | if (supp(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1247:61: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 8; bool wgrid = true; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ ./src/ducc0/wgridder/wgridder.h:1340:38: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c(const ducc0::detail_mav::cmav, 2>&, size_t, double) [with bool wgrid = true; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1340 | grid2x_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1479:25: required from ‘void ducc0::detail_gridder::Wgridder::dirty2x() [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1479 | grid2x_c(grid, pl, w); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:30: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = float; Tms = float; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = float; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:192:20: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = float; size_t = long unsigned int]’ 192 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 193 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 194 | sigma_max, center_x, center_y, allow_nshift); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:208:32: required from here 208 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 209 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 210 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 211 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1062:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 1062 | bufr(iu,iv) = grid(idxu, idxv).real(); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1063:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 1063 | bufi(iu,iv) = grid(idxu, idxv).imag(); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::HelperG2x2::load() [with long unsigned int supp = 5; bool wgrid = false; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:1113:13: required from ‘void ducc0::detail_gridder::Wgridder::HelperG2x2::prep(const ducc0::detail_gridder::UVW&, size_t) [with long unsigned int supp = 5; bool wgrid = false; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1113 | load(); | ^~~~ ./src/ducc0/wgridder/wgridder.h:1247:61: recursively required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 7; bool wgrid = false; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1247 | if (supp(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1247:61: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 8; bool wgrid = false; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ ./src/ducc0/wgridder/wgridder.h:1340:38: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c(const ducc0::detail_mav::cmav, 2>&, size_t, double) [with bool wgrid = false; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1340 | grid2x_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1494:24: required from ‘void ducc0::detail_gridder::Wgridder::dirty2x() [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1494 | grid2x_c(grid, 0); | ~~~~~~~~~~~~~~~^~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:30: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = float; Tms = float; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = float; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:192:20: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = float; size_t = long unsigned int]’ 192 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 193 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 194 | sigma_max, center_x, center_y, allow_nshift); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:208:32: required from here 208 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 209 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 210 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 211 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1062:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 1062 | bufr(iu,iv) = grid(idxu, idxv).real(); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1063:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 1063 | bufi(iu,iv) = grid(idxu, idxv).imag(); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::HelperX2g2::dump() [with long unsigned int supp = 6; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:997:25: required from ‘ducc0::detail_gridder::Wgridder::HelperX2g2::~HelperX2g2() [with long unsigned int supp = 6; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’ 997 | ~HelperX2g2() { dump(); } | ^~~~ ./src/ducc0/wgridder/wgridder.h:1143:61: recursively required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 7; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1143 | if (supp(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1143:61: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 8; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ ./src/ducc0/wgridder/wgridder.h:1141:64: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 16; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1141 | if (supp<=SUPP/2) return x2grid_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1238:38: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c(const ducc0::detail_mav::vmav, 2>&, size_t, double) [with bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1238 | x2grid_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1439:25: required from ‘void ducc0::detail_gridder::Wgridder::x2dirty() [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1439 | x2grid_c(grid, pl, w); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:18: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = double; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = double; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:213:33: required from here 213 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 214 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 215 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 216 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:965:19: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (int&, int&)’ is ambiguous 965 | grid(idxu,idxv) += complex(Tcalc(bufr(iu,iv)), Tcalc(bufi(iu,iv))); | ~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:965:59: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 965 | grid(idxu,idxv) += complex(Tcalc(bufr(iu,iv)), Tcalc(bufi(iu,iv))); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:966:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 966 | bufr(iu,iv) = bufi(iu,iv) = 0; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:966:33: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 966 | bufr(iu,iv) = bufi(iu,iv) = 0; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::HelperX2g2::dump() [with long unsigned int supp = 13; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:997:25: required from ‘ducc0::detail_gridder::Wgridder::HelperX2g2::~HelperX2g2() [with long unsigned int supp = 13; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’ 997 | ~HelperX2g2() { dump(); } | ^~~~ ./src/ducc0/wgridder/wgridder.h:1143:61: recursively required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 15; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1143 | if (supp(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1143:61: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 16; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ ./src/ducc0/wgridder/wgridder.h:1238:38: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c(const ducc0::detail_mav::vmav, 2>&, size_t, double) [with bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1238 | x2grid_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1439:25: required from ‘void ducc0::detail_gridder::Wgridder::x2dirty() [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1439 | x2grid_c(grid, pl, w); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:18: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = double; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = double; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:213:33: required from here 213 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 214 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 215 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 216 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:965:19: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (int&, int&)’ is ambiguous 965 | grid(idxu,idxv) += complex(Tcalc(bufr(iu,iv)), Tcalc(bufi(iu,iv))); | ~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:965:59: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 965 | grid(idxu,idxv) += complex(Tcalc(bufr(iu,iv)), Tcalc(bufi(iu,iv))); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:966:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 966 | bufr(iu,iv) = bufi(iu,iv) = 0; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:966:33: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 966 | bufr(iu,iv) = bufi(iu,iv) = 0; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::HelperX2g2::dump() [with long unsigned int supp = 6; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:997:25: required from ‘ducc0::detail_gridder::Wgridder::HelperX2g2::~HelperX2g2() [with long unsigned int supp = 6; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’ 997 | ~HelperX2g2() { dump(); } | ^~~~ ./src/ducc0/wgridder/wgridder.h:1143:61: recursively required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 7; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1143 | if (supp(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1143:61: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 8; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ ./src/ducc0/wgridder/wgridder.h:1141:64: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 16; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1141 | if (supp<=SUPP/2) return x2grid_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1238:38: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c(const ducc0::detail_mav::vmav, 2>&, size_t, double) [with bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1238 | x2grid_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1451:24: required from ‘void ducc0::detail_gridder::Wgridder::x2dirty() [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1451 | x2grid_c(grid, 0); | ~~~~~~~~~~~~~~~^~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:18: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = double; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = double; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:213:33: required from here 213 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 214 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 215 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 216 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:965:19: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (int&, int&)’ is ambiguous 965 | grid(idxu,idxv) += complex(Tcalc(bufr(iu,iv)), Tcalc(bufi(iu,iv))); | ~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:965:59: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 965 | grid(idxu,idxv) += complex(Tcalc(bufr(iu,iv)), Tcalc(bufi(iu,iv))); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:966:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 966 | bufr(iu,iv) = bufi(iu,iv) = 0; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:966:33: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 966 | bufr(iu,iv) = bufi(iu,iv) = 0; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::HelperX2g2::dump() [with long unsigned int supp = 13; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:997:25: required from ‘ducc0::detail_gridder::Wgridder::HelperX2g2::~HelperX2g2() [with long unsigned int supp = 13; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’ 997 | ~HelperX2g2() { dump(); } | ^~~~ ./src/ducc0/wgridder/wgridder.h:1143:61: recursively required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 15; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1143 | if (supp(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1143:61: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 16; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ ./src/ducc0/wgridder/wgridder.h:1238:38: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c(const ducc0::detail_mav::vmav, 2>&, size_t, double) [with bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1238 | x2grid_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1451:24: required from ‘void ducc0::detail_gridder::Wgridder::x2dirty() [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1451 | x2grid_c(grid, 0); | ~~~~~~~~~~~~~~~^~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:18: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = double; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = double; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:213:33: required from here 213 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 214 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 215 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 216 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:965:19: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (int&, int&)’ is ambiguous 965 | grid(idxu,idxv) += complex(Tcalc(bufr(iu,iv)), Tcalc(bufi(iu,iv))); | ~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:965:59: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 965 | grid(idxu,idxv) += complex(Tcalc(bufr(iu,iv)), Tcalc(bufi(iu,iv))); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:966:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 966 | bufr(iu,iv) = bufi(iu,iv) = 0; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:966:33: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 966 | bufr(iu,iv) = bufi(iu,iv) = 0; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::HelperG2x2::load() [with long unsigned int supp = 6; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:1113:13: required from ‘void ducc0::detail_gridder::Wgridder::HelperG2x2::prep(const ducc0::detail_gridder::UVW&, size_t) [with long unsigned int supp = 6; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1113 | load(); | ^~~~ ./src/ducc0/wgridder/wgridder.h:1247:61: recursively required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 7; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1247 | if (supp(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1247:61: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 8; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ ./src/ducc0/wgridder/wgridder.h:1245:64: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 16; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1245 | if (supp<=SUPP/2) return grid2x_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1340:38: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c(const ducc0::detail_mav::cmav, 2>&, size_t, double) [with bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1340 | grid2x_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1479:25: required from ‘void ducc0::detail_gridder::Wgridder::dirty2x() [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1479 | grid2x_c(grid, pl, w); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:30: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = double; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = double; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:213:33: required from here 213 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 214 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 215 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 216 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1062:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 1062 | bufr(iu,iv) = grid(idxu, idxv).real(); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1063:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 1063 | bufi(iu,iv) = grid(idxu, idxv).imag(); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 11; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’: ./src/ducc0/wgridder/wgridder.h:1247:61: recursively required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 15; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1247 | if (supp(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1247:61: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 16; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ ./src/ducc0/wgridder/wgridder.h:1340:38: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c(const ducc0::detail_mav::cmav, 2>&, size_t, double) [with bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1340 | grid2x_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1479:25: required from ‘void ducc0::detail_gridder::Wgridder::dirty2x() [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1479 | grid2x_c(grid, pl, w); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:30: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = double; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = double; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:213:33: required from here 213 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 214 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 215 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 216 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1322:45: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 1322 | if (!firstplane) r += ms_out(row, ch); | ~~~~~~^~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1327:23: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 1327 | ms_out(row, ch) = r; | ~~~~~~^~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::HelperG2x2::load() [with long unsigned int supp = 13; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:1113:13: required from ‘void ducc0::detail_gridder::Wgridder::HelperG2x2::prep(const ducc0::detail_gridder::UVW&, size_t) [with long unsigned int supp = 13; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1113 | load(); | ^~~~ ./src/ducc0/wgridder/wgridder.h:1247:61: recursively required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 15; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1247 | if (supp(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1247:61: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 16; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ ./src/ducc0/wgridder/wgridder.h:1340:38: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c(const ducc0::detail_mav::cmav, 2>&, size_t, double) [with bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1340 | grid2x_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1479:25: required from ‘void ducc0::detail_gridder::Wgridder::dirty2x() [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1479 | grid2x_c(grid, pl, w); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:30: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = double; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = double; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:213:33: required from here 213 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 214 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 215 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 216 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1062:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 1062 | bufr(iu,iv) = grid(idxu, idxv).real(); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1063:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 1063 | bufi(iu,iv) = grid(idxu, idxv).imag(); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::HelperG2x2::load() [with long unsigned int supp = 6; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:1113:13: required from ‘void ducc0::detail_gridder::Wgridder::HelperG2x2::prep(const ducc0::detail_gridder::UVW&, size_t) [with long unsigned int supp = 6; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1113 | load(); | ^~~~ ./src/ducc0/wgridder/wgridder.h:1247:61: recursively required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 7; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1247 | if (supp(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1247:61: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 8; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ ./src/ducc0/wgridder/wgridder.h:1245:64: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 16; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1245 | if (supp<=SUPP/2) return grid2x_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1340:38: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c(const ducc0::detail_mav::cmav, 2>&, size_t, double) [with bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1340 | grid2x_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1494:24: required from ‘void ducc0::detail_gridder::Wgridder::dirty2x() [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1494 | grid2x_c(grid, 0); | ~~~~~~~~~~~~~~~^~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:30: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = double; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = double; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:213:33: required from here 213 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 214 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 215 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 216 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1062:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 1062 | bufr(iu,iv) = grid(idxu, idxv).real(); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1063:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 1063 | bufi(iu,iv) = grid(idxu, idxv).imag(); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 11; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’: ./src/ducc0/wgridder/wgridder.h:1247:61: recursively required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 15; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1247 | if (supp(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1247:61: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 16; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ ./src/ducc0/wgridder/wgridder.h:1340:38: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c(const ducc0::detail_mav::cmav, 2>&, size_t, double) [with bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1340 | grid2x_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1494:24: required from ‘void ducc0::detail_gridder::Wgridder::dirty2x() [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1494 | grid2x_c(grid, 0); | ~~~~~~~~~~~~~~~^~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:30: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = double; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = double; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:213:33: required from here 213 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 214 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 215 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 216 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1322:45: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 1322 | if (!firstplane) r += ms_out(row, ch); | ~~~~~~^~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1327:23: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 1327 | ms_out(row, ch) = r; | ~~~~~~^~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::HelperG2x2::load() [with long unsigned int supp = 13; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:1113:13: required from ‘void ducc0::detail_gridder::Wgridder::HelperG2x2::prep(const ducc0::detail_gridder::UVW&, size_t) [with long unsigned int supp = 13; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1113 | load(); | ^~~~ ./src/ducc0/wgridder/wgridder.h:1247:61: recursively required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 15; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1247 | if (supp(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1247:61: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 16; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ ./src/ducc0/wgridder/wgridder.h:1340:38: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c(const ducc0::detail_mav::cmav, 2>&, size_t, double) [with bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1340 | grid2x_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1494:24: required from ‘void ducc0::detail_gridder::Wgridder::dirty2x() [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1494 | grid2x_c(grid, 0); | ~~~~~~~~~~~~~~~^~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:30: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = double; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = double; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:213:33: required from here 213 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 214 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 215 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 216 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1062:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 1062 | bufr(iu,iv) = grid(idxu, idxv).real(); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1063:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 1063 | bufi(iu,iv) = grid(idxu, idxv).imag(); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 6; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:426:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep_for_index(std::array) [with long unsigned int supp = 6; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 426 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:545:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 7; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 545 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:545:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 8; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:543:62: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 543 | if (supp<=SUPP/2) return interpolation_helper(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:318:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1433:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 1433 | if (si1) si1->interp(cmav,1>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = float; Tcoord = double; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:102:37: required from here 102 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 103 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:407:19: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&)’ is ambiguous 407 | { bufr(iu) = grid(idxu).real(); bufi(iu) = grid(idxu).imag(); } | ~~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int}; T = float; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int}; T = float; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:407:49: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&)’ is ambiguous 407 | { bufr(iu) = grid(idxu).real(); bufi(iu) = grid(idxu).imag(); } | ~~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int}; T = float; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int}; T = float; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 11; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:545:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 545 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:545:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:318:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1433:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 1433 | if (si1) si1->interp(cmav,1>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = float; Tcoord = double; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:102:37: required from here 102 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 103 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:602:21: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 602 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:627:19: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 627 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 13; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:426:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep_for_index(std::array) [with long unsigned int supp = 13; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 426 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:545:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 545 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:545:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:318:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1433:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 1433 | if (si1) si1->interp(cmav,1>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = float; Tcoord = double; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:102:37: required from here 102 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 103 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:407:19: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&)’ is ambiguous 407 | { bufr(iu) = grid(idxu).real(); bufi(iu) = grid(idxu).imag(); } | ~~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int}; T = float; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int}; T = float; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:407:49: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&)’ is ambiguous 407 | { bufr(iu) = grid(idxu).real(); bufi(iu) = grid(idxu).imag(); } | ~~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int}; T = float; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int}; T = float; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 6; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:799:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep(std::array) [with long unsigned int supp = 6; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 799 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:895:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 7; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 895 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:895:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 8; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:893:62: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 893 | if (supp<=SUPP/2) return interpolation_helper(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:653:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1434:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 1434 | if (si2) si2->interp(cmav,2>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = float; Tcoord = double; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:102:37: required from here 102 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 103 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:762:20: error: call of ‘(ducc0::detail_mav::vmav) (int64_t, int64_t&)’ is ambiguous 762 | bufri(2*iu ,iv) = grid(idxu, idxv).real(); | ~~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:763:20: error: call of ‘(ducc0::detail_mav::vmav) (int64_t, int64_t&)’ is ambiguous 763 | bufri(2*iu+1,iv) = grid(idxu, idxv).imag(); | ~~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 11; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:895:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 895 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:895:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:653:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1434:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 1434 | if (si2) si2->interp(cmav,2>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = float; Tcoord = double; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:102:37: required from here 102 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 103 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:951:17: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 951 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 13; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:799:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep(std::array) [with long unsigned int supp = 13; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 799 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:895:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 895 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:895:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:653:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1434:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 1434 | if (si2) si2->interp(cmav,2>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = float; Tcoord = double; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:102:37: required from here 102 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 103 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:762:20: error: call of ‘(ducc0::detail_mav::vmav) (int64_t, int64_t&)’ is ambiguous 762 | bufri(2*iu ,iv) = grid(idxu, idxv).real(); | ~~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:763:20: error: call of ‘(ducc0::detail_mav::vmav) (int64_t, int64_t&)’ is ambiguous 763 | bufri(2*iu+1,iv) = grid(idxu, idxv).imag(); | ~~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 6; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:1171:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep(std::array) [with long unsigned int supp = 6; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 1171 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:1274:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 7; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 1274 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1274:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 8; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:1272:62: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 1272 | if (supp<=SUPP/2) return interpolation_helper(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:979:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1435:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 1435 | if (si3) si3->interp(cmav,3>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = float; Tcoord = double; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:102:37: required from here 102 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 103 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1130:22: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&, int64_t, int64_t&)’ is ambiguous 1130 | bufri(iu,2*iv,iw) = grid(idxu, idxv, idxw).real(); | ~~~~~^~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1131:22: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&, int64_t, int64_t&)’ is ambiguous 1131 | bufri(iu,2*iv+1,iw) = grid(idxu, idxv, idxw).imag(); | ~~~~~^~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 11; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:1274:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 1274 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1274:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:979:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1435:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 1435 | if (si3) si3->interp(cmav,3>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = float; Tcoord = double; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:102:37: required from here 102 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 103 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1344:17: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 1344 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 13; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:1171:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep(std::array) [with long unsigned int supp = 13; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 1171 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:1274:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 1274 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1274:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:979:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1435:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 1435 | if (si3) si3->interp(cmav,3>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = float; Tcoord = double; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:102:37: required from here 102 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 103 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1130:22: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&, int64_t, int64_t&)’ is ambiguous 1130 | bufri(iu,2*iv,iw) = grid(idxu, idxv, idxw).real(); | ~~~~~^~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1131:22: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&, int64_t, int64_t&)’ is ambiguous 1131 | bufri(iu,2*iv+1,iw) = grid(idxu, idxv, idxw).imag(); | ~~~~~^~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 6; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:426:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep_for_index(std::array) [with long unsigned int supp = 6; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 426 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:545:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 7; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 545 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:545:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 8; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:543:62: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 543 | if (supp<=SUPP/2) return interpolation_helper(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:318:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1433:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 1433 | if (si1) si1->interp(cmav,1>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = double; Tcoord = float; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:108:37: required from here 108 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 109 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:407:19: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&)’ is ambiguous 407 | { bufr(iu) = grid(idxu).real(); bufi(iu) = grid(idxu).imag(); } | ~~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:407:49: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&)’ is ambiguous 407 | { bufr(iu) = grid(idxu).real(); bufi(iu) = grid(idxu).imag(); } | ~~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 11; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:545:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 545 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:545:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:318:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1433:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 1433 | if (si1) si1->interp(cmav,1>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = double; Tcoord = float; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:108:37: required from here 108 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 109 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:602:21: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 602 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:627:19: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 627 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 13; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:426:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep_for_index(std::array) [with long unsigned int supp = 13; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 426 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:545:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 545 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:545:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:318:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1433:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 1433 | if (si1) si1->interp(cmav,1>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = double; Tcoord = float; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:108:37: required from here 108 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 109 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:407:19: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&)’ is ambiguous 407 | { bufr(iu) = grid(idxu).real(); bufi(iu) = grid(idxu).imag(); } | ~~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:407:49: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&)’ is ambiguous 407 | { bufr(iu) = grid(idxu).real(); bufi(iu) = grid(idxu).imag(); } | ~~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 6; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:799:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep(std::array) [with long unsigned int supp = 6; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 799 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:895:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 7; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 895 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:895:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 8; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:893:62: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 893 | if (supp<=SUPP/2) return interpolation_helper(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:653:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1434:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 1434 | if (si2) si2->interp(cmav,2>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = double; Tcoord = float; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:108:37: required from here 108 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 109 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:762:20: error: call of ‘(ducc0::detail_mav::vmav) (int64_t, int64_t&)’ is ambiguous 762 | bufri(2*iu ,iv) = grid(idxu, idxv).real(); | ~~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:763:20: error: call of ‘(ducc0::detail_mav::vmav) (int64_t, int64_t&)’ is ambiguous 763 | bufri(2*iu+1,iv) = grid(idxu, idxv).imag(); | ~~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 11; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:895:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 895 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:895:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:653:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1434:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 1434 | if (si2) si2->interp(cmav,2>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = double; Tcoord = float; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:108:37: required from here 108 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 109 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:951:17: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 951 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 13; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:799:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep(std::array) [with long unsigned int supp = 13; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 799 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:895:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 895 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:895:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:653:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1434:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 1434 | if (si2) si2->interp(cmav,2>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = double; Tcoord = float; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:108:37: required from here 108 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 109 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:762:20: error: call of ‘(ducc0::detail_mav::vmav) (int64_t, int64_t&)’ is ambiguous 762 | bufri(2*iu ,iv) = grid(idxu, idxv).real(); | ~~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:763:20: error: call of ‘(ducc0::detail_mav::vmav) (int64_t, int64_t&)’ is ambiguous 763 | bufri(2*iu+1,iv) = grid(idxu, idxv).imag(); | ~~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 6; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:1171:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep(std::array) [with long unsigned int supp = 6; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 1171 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:1274:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 7; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 1274 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1274:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 8; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:1272:62: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 1272 | if (supp<=SUPP/2) return interpolation_helper(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:979:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1435:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 1435 | if (si3) si3->interp(cmav,3>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = double; Tcoord = float; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:108:37: required from here 108 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 109 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1130:22: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&, int64_t, int64_t&)’ is ambiguous 1130 | bufri(iu,2*iv,iw) = grid(idxu, idxv, idxw).real(); | ~~~~~^~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1131:22: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&, int64_t, int64_t&)’ is ambiguous 1131 | bufri(iu,2*iv+1,iw) = grid(idxu, idxv, idxw).imag(); | ~~~~~^~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 11; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:1274:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 1274 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1274:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:979:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1435:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 1435 | if (si3) si3->interp(cmav,3>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = double; Tcoord = float; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:108:37: required from here 108 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 109 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1344:17: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 1344 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 13; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:1171:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep(std::array) [with long unsigned int supp = 13; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 1171 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:1274:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 1274 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1274:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:979:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1435:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 1435 | if (si3) si3->interp(cmav,3>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = double; Tcoord = float; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:108:37: required from here 108 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 109 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1130:22: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&, int64_t, int64_t&)’ is ambiguous 1130 | bufri(iu,2*iv,iw) = grid(idxu, idxv, idxw).real(); | ~~~~~^~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1131:22: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&, int64_t, int64_t&)’ is ambiguous 1131 | bufri(iu,2*iv+1,iw) = grid(idxu, idxv, idxw).imag(); | ~~~~~^~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 5; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:426:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep_for_index(std::array) [with long unsigned int supp = 5; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 426 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:545:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 7; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 545 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:545:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 8; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:543:62: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 543 | if (supp<=SUPP/2) return interpolation_helper(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:318:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1449:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 1449 | if (si1) si1->interp(cmav,1>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = double]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:500:35: required from here 500 | if (pd) return do_get_points(pd, coord, values, gridd); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:407:19: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&)’ is ambiguous 407 | { bufr(iu) = grid(idxu).real(); bufi(iu) = grid(idxu).imag(); } | ~~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:407:49: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&)’ is ambiguous 407 | { bufr(iu) = grid(idxu).real(); bufi(iu) = grid(idxu).imag(); } | ~~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 10; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:545:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 545 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:545:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:318:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1449:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 1449 | if (si1) si1->interp(cmav,1>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = double]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:500:35: required from here 500 | if (pd) return do_get_points(pd, coord, values, gridd); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:602:21: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 602 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:627:19: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 627 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 12; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:426:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep_for_index(std::array) [with long unsigned int supp = 12; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 426 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:545:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 545 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:545:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:318:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1449:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 1449 | if (si1) si1->interp(cmav,1>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = double]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:500:35: required from here 500 | if (pd) return do_get_points(pd, coord, values, gridd); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:407:19: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&)’ is ambiguous 407 | { bufr(iu) = grid(idxu).real(); bufi(iu) = grid(idxu).imag(); } | ~~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:407:49: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&)’ is ambiguous 407 | { bufr(iu) = grid(idxu).real(); bufi(iu) = grid(idxu).imag(); } | ~~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 5; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:799:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep(std::array) [with long unsigned int supp = 5; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 799 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:895:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 7; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 895 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:895:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 8; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:893:62: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 893 | if (supp<=SUPP/2) return interpolation_helper(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:653:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1450:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 1450 | if (si2) si2->interp(cmav,2>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = double]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:500:35: required from here 500 | if (pd) return do_get_points(pd, coord, values, gridd); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:762:20: error: call of ‘(ducc0::detail_mav::vmav) (int64_t, int64_t&)’ is ambiguous 762 | bufri(2*iu ,iv) = grid(idxu, idxv).real(); | ~~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:763:20: error: call of ‘(ducc0::detail_mav::vmav) (int64_t, int64_t&)’ is ambiguous 763 | bufri(2*iu+1,iv) = grid(idxu, idxv).imag(); | ~~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 10; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:895:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 895 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:895:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:653:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1450:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 1450 | if (si2) si2->interp(cmav,2>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = double]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:500:35: required from here 500 | if (pd) return do_get_points(pd, coord, values, gridd); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:951:17: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 951 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 12; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:799:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep(std::array) [with long unsigned int supp = 12; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 799 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:895:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 895 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:895:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:653:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1450:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 1450 | if (si2) si2->interp(cmav,2>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = double]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:500:35: required from here 500 | if (pd) return do_get_points(pd, coord, values, gridd); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:762:20: error: call of ‘(ducc0::detail_mav::vmav) (int64_t, int64_t&)’ is ambiguous 762 | bufri(2*iu ,iv) = grid(idxu, idxv).real(); | ~~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:763:20: error: call of ‘(ducc0::detail_mav::vmav) (int64_t, int64_t&)’ is ambiguous 763 | bufri(2*iu+1,iv) = grid(idxu, idxv).imag(); | ~~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 5; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:1171:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep(std::array) [with long unsigned int supp = 5; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 1171 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:1274:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 7; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 1274 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1274:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 8; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:1272:62: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 1272 | if (supp<=SUPP/2) return interpolation_helper(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:979:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1451:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 1451 | if (si3) si3->interp(cmav,3>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = double]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:500:35: required from here 500 | if (pd) return do_get_points(pd, coord, values, gridd); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1130:22: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&, int64_t, int64_t&)’ is ambiguous 1130 | bufri(iu,2*iv,iw) = grid(idxu, idxv, idxw).real(); | ~~~~~^~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1131:22: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&, int64_t, int64_t&)’ is ambiguous 1131 | bufri(iu,2*iv+1,iw) = grid(idxu, idxv, idxw).imag(); | ~~~~~^~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 10; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:1274:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 1274 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1274:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:979:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1451:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 1451 | if (si3) si3->interp(cmav,3>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = double]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:500:35: required from here 500 | if (pd) return do_get_points(pd, coord, values, gridd); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1344:17: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 1344 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 12; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:1171:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep(std::array) [with long unsigned int supp = 12; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 1171 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:1274:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 1274 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1274:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:979:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1451:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 1451 | if (si3) si3->interp(cmav,3>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = double]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:500:35: required from here 500 | if (pd) return do_get_points(pd, coord, values, gridd); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1130:22: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&, int64_t, int64_t&)’ is ambiguous 1130 | bufri(iu,2*iv,iw) = grid(idxu, idxv, idxw).real(); | ~~~~~^~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1131:22: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&, int64_t, int64_t&)’ is ambiguous 1131 | bufri(iu,2*iv+1,iw) = grid(idxu, idxv, idxw).imag(); | ~~~~~^~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 5; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:426:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep_for_index(std::array) [with long unsigned int supp = 5; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 426 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:545:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 7; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 545 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:545:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 8; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:543:62: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 543 | if (supp<=SUPP/2) return interpolation_helper(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:318:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1449:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 1449 | if (si1) si1->interp(cmav,1>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = float]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:501:35: required from here 501 | if (pf) return do_get_points(pf, coord, values, gridf); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:407:19: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&)’ is ambiguous 407 | { bufr(iu) = grid(idxu).real(); bufi(iu) = grid(idxu).imag(); } | ~~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int}; T = float; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int}; T = float; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:407:49: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&)’ is ambiguous 407 | { bufr(iu) = grid(idxu).real(); bufi(iu) = grid(idxu).imag(); } | ~~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int}; T = float; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int}; T = float; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 10; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:545:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 545 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:545:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:318:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1449:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 1449 | if (si1) si1->interp(cmav,1>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = float]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:501:35: required from here 501 | if (pf) return do_get_points(pf, coord, values, gridf); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:602:21: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 602 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:627:19: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 627 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 12; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:426:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep_for_index(std::array) [with long unsigned int supp = 12; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 426 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:545:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 545 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:545:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:318:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1449:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 1449 | if (si1) si1->interp(cmav,1>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = float]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:501:35: required from here 501 | if (pf) return do_get_points(pf, coord, values, gridf); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:407:19: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&)’ is ambiguous 407 | { bufr(iu) = grid(idxu).real(); bufi(iu) = grid(idxu).imag(); } | ~~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int}; T = float; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int}; T = float; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:407:49: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&)’ is ambiguous 407 | { bufr(iu) = grid(idxu).real(); bufi(iu) = grid(idxu).imag(); } | ~~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int}; T = float; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int}; T = float; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 5; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:799:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep(std::array) [with long unsigned int supp = 5; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 799 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:895:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 7; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 895 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:895:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 8; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:893:62: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 893 | if (supp<=SUPP/2) return interpolation_helper(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:653:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1450:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 1450 | if (si2) si2->interp(cmav,2>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = float]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:501:35: required from here 501 | if (pf) return do_get_points(pf, coord, values, gridf); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:762:20: error: call of ‘(ducc0::detail_mav::vmav) (int64_t, int64_t&)’ is ambiguous 762 | bufri(2*iu ,iv) = grid(idxu, idxv).real(); | ~~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:763:20: error: call of ‘(ducc0::detail_mav::vmav) (int64_t, int64_t&)’ is ambiguous 763 | bufri(2*iu+1,iv) = grid(idxu, idxv).imag(); | ~~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 10; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:895:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 895 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:895:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:653:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1450:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 1450 | if (si2) si2->interp(cmav,2>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = float]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:501:35: required from here 501 | if (pf) return do_get_points(pf, coord, values, gridf); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:951:17: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 951 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 12; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:799:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep(std::array) [with long unsigned int supp = 12; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 799 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:895:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 895 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:895:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:653:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1450:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 1450 | if (si2) si2->interp(cmav,2>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = float]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:501:35: required from here 501 | if (pf) return do_get_points(pf, coord, values, gridf); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:762:20: error: call of ‘(ducc0::detail_mav::vmav) (int64_t, int64_t&)’ is ambiguous 762 | bufri(2*iu ,iv) = grid(idxu, idxv).real(); | ~~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:763:20: error: call of ‘(ducc0::detail_mav::vmav) (int64_t, int64_t&)’ is ambiguous 763 | bufri(2*iu+1,iv) = grid(idxu, idxv).imag(); | ~~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 5; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:1171:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep(std::array) [with long unsigned int supp = 5; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 1171 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:1274:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 7; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 1274 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1274:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 8; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:1272:62: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 1272 | if (supp<=SUPP/2) return interpolation_helper(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:979:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1451:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 1451 | if (si3) si3->interp(cmav,3>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = float]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:501:35: required from here 501 | if (pf) return do_get_points(pf, coord, values, gridf); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1130:22: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&, int64_t, int64_t&)’ is ambiguous 1130 | bufri(iu,2*iv,iw) = grid(idxu, idxv, idxw).real(); | ~~~~~^~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1131:22: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&, int64_t, int64_t&)’ is ambiguous 1131 | bufri(iu,2*iv+1,iw) = grid(idxu, idxv, idxw).imag(); | ~~~~~^~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 10; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:1274:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 1274 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1274:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:979:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1451:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 1451 | if (si3) si3->interp(cmav,3>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = float]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:501:35: required from here 501 | if (pf) return do_get_points(pf, coord, values, gridf); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1344:17: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 1344 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 12; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:1171:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep(std::array) [with long unsigned int supp = 12; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 1171 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:1274:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 1274 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1274:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:979:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1451:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 1451 | if (si3) si3->interp(cmav,3>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = float]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:501:35: required from here 501 | if (pf) return do_get_points(pf, coord, values, gridf); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1130:22: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&, int64_t, int64_t&)’ is ambiguous 1130 | bufri(iu,2*iv,iw) = grid(idxu, idxv, idxw).real(); | ~~~~~^~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1131:22: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&, int64_t, int64_t&)’ is ambiguous 1131 | bufri(iu,2*iv+1,iw) = grid(idxu, idxv, idxw).imag(); | ~~~~~^~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::HelperX2g2::dump() [with long unsigned int supp = 5; bool wgrid = true; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:997:25: required from ‘ducc0::detail_gridder::Wgridder::HelperX2g2::~HelperX2g2() [with long unsigned int supp = 5; bool wgrid = true; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 997 | ~HelperX2g2() { dump(); } | ^~~~ ./src/ducc0/wgridder/wgridder.h:1143:61: recursively required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 7; bool wgrid = true; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1143 | if (supp(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1143:61: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 8; bool wgrid = true; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ ./src/ducc0/wgridder/wgridder.h:1141:64: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 16; bool wgrid = true; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1141 | if (supp<=SUPP/2) return x2grid_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1238:38: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c(const ducc0::detail_mav::vmav, 2>&, size_t, double) [with bool wgrid = true; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1238 | x2grid_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1439:25: required from ‘void ducc0::detail_gridder::Wgridder::x2dirty() [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1439 | x2grid_c(grid, pl, w); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:18: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = float; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = float; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:208:32: required from here 208 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 209 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 210 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 211 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:965:19: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (int&, int&)’ is ambiguous 965 | grid(idxu,idxv) += complex(Tcalc(bufr(iu,iv)), Tcalc(bufi(iu,iv))); | ~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:965:59: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 965 | grid(idxu,idxv) += complex(Tcalc(bufr(iu,iv)), Tcalc(bufi(iu,iv))); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:966:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 966 | bufr(iu,iv) = bufi(iu,iv) = 0; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:966:33: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 966 | bufr(iu,iv) = bufi(iu,iv) = 0; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::HelperX2g2::dump() [with long unsigned int supp = 12; bool wgrid = true; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:997:25: required from ‘ducc0::detail_gridder::Wgridder::HelperX2g2::~HelperX2g2() [with long unsigned int supp = 12; bool wgrid = true; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 997 | ~HelperX2g2() { dump(); } | ^~~~ ./src/ducc0/wgridder/wgridder.h:1143:61: recursively required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 15; bool wgrid = true; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1143 | if (supp(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1143:61: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 16; bool wgrid = true; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ ./src/ducc0/wgridder/wgridder.h:1238:38: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c(const ducc0::detail_mav::vmav, 2>&, size_t, double) [with bool wgrid = true; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1238 | x2grid_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1439:25: required from ‘void ducc0::detail_gridder::Wgridder::x2dirty() [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1439 | x2grid_c(grid, pl, w); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:18: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = float; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = float; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:208:32: required from here 208 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 209 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 210 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 211 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:965:19: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (int&, int&)’ is ambiguous 965 | grid(idxu,idxv) += complex(Tcalc(bufr(iu,iv)), Tcalc(bufi(iu,iv))); | ~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:965:59: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 965 | grid(idxu,idxv) += complex(Tcalc(bufr(iu,iv)), Tcalc(bufi(iu,iv))); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:966:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 966 | bufr(iu,iv) = bufi(iu,iv) = 0; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:966:33: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 966 | bufr(iu,iv) = bufi(iu,iv) = 0; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::HelperX2g2::dump() [with long unsigned int supp = 5; bool wgrid = false; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:997:25: required from ‘ducc0::detail_gridder::Wgridder::HelperX2g2::~HelperX2g2() [with long unsigned int supp = 5; bool wgrid = false; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 997 | ~HelperX2g2() { dump(); } | ^~~~ ./src/ducc0/wgridder/wgridder.h:1143:61: recursively required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 7; bool wgrid = false; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1143 | if (supp(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1143:61: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 8; bool wgrid = false; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ ./src/ducc0/wgridder/wgridder.h:1141:64: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 16; bool wgrid = false; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1141 | if (supp<=SUPP/2) return x2grid_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1238:38: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c(const ducc0::detail_mav::vmav, 2>&, size_t, double) [with bool wgrid = false; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1238 | x2grid_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1451:24: required from ‘void ducc0::detail_gridder::Wgridder::x2dirty() [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1451 | x2grid_c(grid, 0); | ~~~~~~~~~~~~~~~^~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:18: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = float; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = float; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:208:32: required from here 208 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 209 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 210 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 211 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:965:19: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (int&, int&)’ is ambiguous 965 | grid(idxu,idxv) += complex(Tcalc(bufr(iu,iv)), Tcalc(bufi(iu,iv))); | ~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:965:59: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 965 | grid(idxu,idxv) += complex(Tcalc(bufr(iu,iv)), Tcalc(bufi(iu,iv))); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:966:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 966 | bufr(iu,iv) = bufi(iu,iv) = 0; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:966:33: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 966 | bufr(iu,iv) = bufi(iu,iv) = 0; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::HelperX2g2::dump() [with long unsigned int supp = 12; bool wgrid = false; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:997:25: required from ‘ducc0::detail_gridder::Wgridder::HelperX2g2::~HelperX2g2() [with long unsigned int supp = 12; bool wgrid = false; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 997 | ~HelperX2g2() { dump(); } | ^~~~ ./src/ducc0/wgridder/wgridder.h:1143:61: recursively required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 15; bool wgrid = false; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1143 | if (supp(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1143:61: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 16; bool wgrid = false; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ ./src/ducc0/wgridder/wgridder.h:1238:38: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c(const ducc0::detail_mav::vmav, 2>&, size_t, double) [with bool wgrid = false; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1238 | x2grid_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1451:24: required from ‘void ducc0::detail_gridder::Wgridder::x2dirty() [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1451 | x2grid_c(grid, 0); | ~~~~~~~~~~~~~~~^~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:18: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = float; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = float; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:208:32: required from here 208 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 209 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 210 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 211 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:965:19: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (int&, int&)’ is ambiguous 965 | grid(idxu,idxv) += complex(Tcalc(bufr(iu,iv)), Tcalc(bufi(iu,iv))); | ~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:965:59: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 965 | grid(idxu,idxv) += complex(Tcalc(bufr(iu,iv)), Tcalc(bufi(iu,iv))); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:966:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 966 | bufr(iu,iv) = bufi(iu,iv) = 0; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:966:33: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 966 | bufr(iu,iv) = bufi(iu,iv) = 0; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::HelperX2g2::dump() [with long unsigned int supp = 5; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:997:25: required from ‘ducc0::detail_gridder::Wgridder::HelperX2g2::~HelperX2g2() [with long unsigned int supp = 5; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’ 997 | ~HelperX2g2() { dump(); } | ^~~~ ./src/ducc0/wgridder/wgridder.h:1143:61: recursively required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 7; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1143 | if (supp(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1143:61: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 8; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ ./src/ducc0/wgridder/wgridder.h:1141:64: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 16; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1141 | if (supp<=SUPP/2) return x2grid_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1238:38: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c(const ducc0::detail_mav::vmav, 2>&, size_t, double) [with bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1238 | x2grid_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1439:25: required from ‘void ducc0::detail_gridder::Wgridder::x2dirty() [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1439 | x2grid_c(grid, pl, w); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:18: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = double; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = double; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:213:33: required from here 213 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 214 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 215 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 216 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:965:19: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (int&, int&)’ is ambiguous 965 | grid(idxu,idxv) += complex(Tcalc(bufr(iu,iv)), Tcalc(bufi(iu,iv))); | ~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:965:59: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 965 | grid(idxu,idxv) += complex(Tcalc(bufr(iu,iv)), Tcalc(bufi(iu,iv))); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:966:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 966 | bufr(iu,iv) = bufi(iu,iv) = 0; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:966:33: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 966 | bufr(iu,iv) = bufi(iu,iv) = 0; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::HelperX2g2::dump() [with long unsigned int supp = 12; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:997:25: required from ‘ducc0::detail_gridder::Wgridder::HelperX2g2::~HelperX2g2() [with long unsigned int supp = 12; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’ 997 | ~HelperX2g2() { dump(); } | ^~~~ ./src/ducc0/wgridder/wgridder.h:1143:61: recursively required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 15; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1143 | if (supp(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1143:61: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 16; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ ./src/ducc0/wgridder/wgridder.h:1238:38: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c(const ducc0::detail_mav::vmav, 2>&, size_t, double) [with bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1238 | x2grid_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1439:25: required from ‘void ducc0::detail_gridder::Wgridder::x2dirty() [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1439 | x2grid_c(grid, pl, w); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:18: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = double; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = double; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:213:33: required from here 213 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 214 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 215 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 216 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:965:19: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (int&, int&)’ is ambiguous 965 | grid(idxu,idxv) += complex(Tcalc(bufr(iu,iv)), Tcalc(bufi(iu,iv))); | ~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:965:59: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 965 | grid(idxu,idxv) += complex(Tcalc(bufr(iu,iv)), Tcalc(bufi(iu,iv))); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:966:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 966 | bufr(iu,iv) = bufi(iu,iv) = 0; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:966:33: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 966 | bufr(iu,iv) = bufi(iu,iv) = 0; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::HelperX2g2::dump() [with long unsigned int supp = 5; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:997:25: required from ‘ducc0::detail_gridder::Wgridder::HelperX2g2::~HelperX2g2() [with long unsigned int supp = 5; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’ 997 | ~HelperX2g2() { dump(); } | ^~~~ ./src/ducc0/wgridder/wgridder.h:1143:61: recursively required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 7; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1143 | if (supp(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1143:61: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 8; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ ./src/ducc0/wgridder/wgridder.h:1141:64: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 16; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1141 | if (supp<=SUPP/2) return x2grid_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1238:38: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c(const ducc0::detail_mav::vmav, 2>&, size_t, double) [with bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1238 | x2grid_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1451:24: required from ‘void ducc0::detail_gridder::Wgridder::x2dirty() [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1451 | x2grid_c(grid, 0); | ~~~~~~~~~~~~~~~^~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:18: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = double; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = double; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:213:33: required from here 213 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 214 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 215 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 216 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:965:19: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (int&, int&)’ is ambiguous 965 | grid(idxu,idxv) += complex(Tcalc(bufr(iu,iv)), Tcalc(bufi(iu,iv))); | ~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:965:59: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 965 | grid(idxu,idxv) += complex(Tcalc(bufr(iu,iv)), Tcalc(bufi(iu,iv))); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:966:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 966 | bufr(iu,iv) = bufi(iu,iv) = 0; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:966:33: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 966 | bufr(iu,iv) = bufi(iu,iv) = 0; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::HelperX2g2::dump() [with long unsigned int supp = 12; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:997:25: required from ‘ducc0::detail_gridder::Wgridder::HelperX2g2::~HelperX2g2() [with long unsigned int supp = 12; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’ 997 | ~HelperX2g2() { dump(); } | ^~~~ ./src/ducc0/wgridder/wgridder.h:1143:61: recursively required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 15; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1143 | if (supp(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1143:61: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 16; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ ./src/ducc0/wgridder/wgridder.h:1238:38: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c(const ducc0::detail_mav::vmav, 2>&, size_t, double) [with bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1238 | x2grid_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1451:24: required from ‘void ducc0::detail_gridder::Wgridder::x2dirty() [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1451 | x2grid_c(grid, 0); | ~~~~~~~~~~~~~~~^~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:18: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = double; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = double; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:213:33: required from here 213 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 214 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 215 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 216 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:965:19: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (int&, int&)’ is ambiguous 965 | grid(idxu,idxv) += complex(Tcalc(bufr(iu,iv)), Tcalc(bufi(iu,iv))); | ~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:965:59: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 965 | grid(idxu,idxv) += complex(Tcalc(bufr(iu,iv)), Tcalc(bufi(iu,iv))); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:966:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 966 | bufr(iu,iv) = bufi(iu,iv) = 0; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:966:33: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 966 | bufr(iu,iv) = bufi(iu,iv) = 0; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::HelperG2x2::load() [with long unsigned int supp = 5; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:1113:13: required from ‘void ducc0::detail_gridder::Wgridder::HelperG2x2::prep(const ducc0::detail_gridder::UVW&, size_t) [with long unsigned int supp = 5; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1113 | load(); | ^~~~ ./src/ducc0/wgridder/wgridder.h:1247:61: recursively required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 7; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1247 | if (supp(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1247:61: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 8; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ ./src/ducc0/wgridder/wgridder.h:1245:64: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 16; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1245 | if (supp<=SUPP/2) return grid2x_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1340:38: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c(const ducc0::detail_mav::cmav, 2>&, size_t, double) [with bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1340 | grid2x_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1479:25: required from ‘void ducc0::detail_gridder::Wgridder::dirty2x() [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1479 | grid2x_c(grid, pl, w); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:30: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = double; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = double; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:213:33: required from here 213 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 214 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 215 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 216 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1062:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 1062 | bufr(iu,iv) = grid(idxu, idxv).real(); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1063:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 1063 | bufi(iu,iv) = grid(idxu, idxv).imag(); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 10; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’: ./src/ducc0/wgridder/wgridder.h:1247:61: recursively required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 15; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1247 | if (supp(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1247:61: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 16; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ ./src/ducc0/wgridder/wgridder.h:1340:38: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c(const ducc0::detail_mav::cmav, 2>&, size_t, double) [with bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1340 | grid2x_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1479:25: required from ‘void ducc0::detail_gridder::Wgridder::dirty2x() [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1479 | grid2x_c(grid, pl, w); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:30: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = double; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = double; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:213:33: required from here 213 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 214 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 215 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 216 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1322:45: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 1322 | if (!firstplane) r += ms_out(row, ch); | ~~~~~~^~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1327:23: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 1327 | ms_out(row, ch) = r; | ~~~~~~^~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::HelperG2x2::load() [with long unsigned int supp = 12; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:1113:13: required from ‘void ducc0::detail_gridder::Wgridder::HelperG2x2::prep(const ducc0::detail_gridder::UVW&, size_t) [with long unsigned int supp = 12; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1113 | load(); | ^~~~ ./src/ducc0/wgridder/wgridder.h:1247:61: recursively required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 15; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1247 | if (supp(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1247:61: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 16; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ ./src/ducc0/wgridder/wgridder.h:1340:38: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c(const ducc0::detail_mav::cmav, 2>&, size_t, double) [with bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1340 | grid2x_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1479:25: required from ‘void ducc0::detail_gridder::Wgridder::dirty2x() [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1479 | grid2x_c(grid, pl, w); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:30: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = double; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = double; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:213:33: required from here 213 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 214 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 215 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 216 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1062:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 1062 | bufr(iu,iv) = grid(idxu, idxv).real(); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1063:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 1063 | bufi(iu,iv) = grid(idxu, idxv).imag(); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::HelperG2x2::load() [with long unsigned int supp = 5; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:1113:13: required from ‘void ducc0::detail_gridder::Wgridder::HelperG2x2::prep(const ducc0::detail_gridder::UVW&, size_t) [with long unsigned int supp = 5; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1113 | load(); | ^~~~ ./src/ducc0/wgridder/wgridder.h:1247:61: recursively required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 7; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1247 | if (supp(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1247:61: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 8; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ ./src/ducc0/wgridder/wgridder.h:1245:64: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 16; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1245 | if (supp<=SUPP/2) return grid2x_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1340:38: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c(const ducc0::detail_mav::cmav, 2>&, size_t, double) [with bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1340 | grid2x_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1494:24: required from ‘void ducc0::detail_gridder::Wgridder::dirty2x() [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1494 | grid2x_c(grid, 0); | ~~~~~~~~~~~~~~~^~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:30: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = double; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = double; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:213:33: required from here 213 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 214 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 215 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 216 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1062:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 1062 | bufr(iu,iv) = grid(idxu, idxv).real(); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1063:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 1063 | bufi(iu,iv) = grid(idxu, idxv).imag(); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 10; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’: ./src/ducc0/wgridder/wgridder.h:1247:61: recursively required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 15; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1247 | if (supp(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1247:61: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 16; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ ./src/ducc0/wgridder/wgridder.h:1340:38: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c(const ducc0::detail_mav::cmav, 2>&, size_t, double) [with bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1340 | grid2x_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1494:24: required from ‘void ducc0::detail_gridder::Wgridder::dirty2x() [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1494 | grid2x_c(grid, 0); | ~~~~~~~~~~~~~~~^~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:30: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = double; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = double; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:213:33: required from here 213 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 214 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 215 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 216 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1322:45: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 1322 | if (!firstplane) r += ms_out(row, ch); | ~~~~~~^~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1327:23: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 1327 | ms_out(row, ch) = r; | ~~~~~~^~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::HelperG2x2::load() [with long unsigned int supp = 12; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:1113:13: required from ‘void ducc0::detail_gridder::Wgridder::HelperG2x2::prep(const ducc0::detail_gridder::UVW&, size_t) [with long unsigned int supp = 12; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1113 | load(); | ^~~~ ./src/ducc0/wgridder/wgridder.h:1247:61: recursively required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 15; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1247 | if (supp(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1247:61: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 16; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ ./src/ducc0/wgridder/wgridder.h:1340:38: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c(const ducc0::detail_mav::cmav, 2>&, size_t, double) [with bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1340 | grid2x_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1494:24: required from ‘void ducc0::detail_gridder::Wgridder::dirty2x() [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1494 | grid2x_c(grid, 0); | ~~~~~~~~~~~~~~~^~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:30: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = double; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = double; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:213:33: required from here 213 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 214 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 215 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 216 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1062:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 1062 | bufr(iu,iv) = grid(idxu, idxv).real(); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1063:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 1063 | bufi(iu,iv) = grid(idxu, idxv).imag(); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 5; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:426:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep_for_index(std::array) [with long unsigned int supp = 5; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 426 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:545:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 7; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 545 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:545:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 8; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:543:62: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 543 | if (supp<=SUPP/2) return interpolation_helper(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:318:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1433:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 1433 | if (si1) si1->interp(cmav,1>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = float; Tcoord = double; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:102:37: required from here 102 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 103 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:407:19: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&)’ is ambiguous 407 | { bufr(iu) = grid(idxu).real(); bufi(iu) = grid(idxu).imag(); } | ~~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int}; T = float; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int}; T = float; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:407:49: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&)’ is ambiguous 407 | { bufr(iu) = grid(idxu).real(); bufi(iu) = grid(idxu).imag(); } | ~~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int}; T = float; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int}; T = float; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 10; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:545:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 545 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:545:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:318:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1433:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 1433 | if (si1) si1->interp(cmav,1>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = float; Tcoord = double; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:102:37: required from here 102 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 103 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:602:21: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 602 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:627:19: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 627 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 12; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:426:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep_for_index(std::array) [with long unsigned int supp = 12; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 426 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:545:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 545 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:545:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:318:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1433:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 1433 | if (si1) si1->interp(cmav,1>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = float; Tcoord = double; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:102:37: required from here 102 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 103 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:407:19: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&)’ is ambiguous 407 | { bufr(iu) = grid(idxu).real(); bufi(iu) = grid(idxu).imag(); } | ~~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int}; T = float; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int}; T = float; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:407:49: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&)’ is ambiguous 407 | { bufr(iu) = grid(idxu).real(); bufi(iu) = grid(idxu).imag(); } | ~~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int}; T = float; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int}; T = float; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 5; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:799:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep(std::array) [with long unsigned int supp = 5; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 799 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:895:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 7; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 895 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:895:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 8; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:893:62: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 893 | if (supp<=SUPP/2) return interpolation_helper(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:653:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1434:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 1434 | if (si2) si2->interp(cmav,2>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = float; Tcoord = double; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:102:37: required from here 102 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 103 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:762:20: error: call of ‘(ducc0::detail_mav::vmav) (int64_t, int64_t&)’ is ambiguous 762 | bufri(2*iu ,iv) = grid(idxu, idxv).real(); | ~~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:763:20: error: call of ‘(ducc0::detail_mav::vmav) (int64_t, int64_t&)’ is ambiguous 763 | bufri(2*iu+1,iv) = grid(idxu, idxv).imag(); | ~~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 10; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:895:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 895 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:895:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:653:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1434:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 1434 | if (si2) si2->interp(cmav,2>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = float; Tcoord = double; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:102:37: required from here 102 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 103 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:951:17: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 951 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 12; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:799:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep(std::array) [with long unsigned int supp = 12; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 799 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:895:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 895 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:895:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:653:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1434:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 1434 | if (si2) si2->interp(cmav,2>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = float; Tcoord = double; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:102:37: required from here 102 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 103 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:762:20: error: call of ‘(ducc0::detail_mav::vmav) (int64_t, int64_t&)’ is ambiguous 762 | bufri(2*iu ,iv) = grid(idxu, idxv).real(); | ~~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:763:20: error: call of ‘(ducc0::detail_mav::vmav) (int64_t, int64_t&)’ is ambiguous 763 | bufri(2*iu+1,iv) = grid(idxu, idxv).imag(); | ~~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 5; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:1171:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep(std::array) [with long unsigned int supp = 5; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 1171 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:1274:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 7; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 1274 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1274:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 8; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:1272:62: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 1272 | if (supp<=SUPP/2) return interpolation_helper(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:979:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1435:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 1435 | if (si3) si3->interp(cmav,3>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = float; Tcoord = double; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:102:37: required from here 102 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 103 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1130:22: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&, int64_t, int64_t&)’ is ambiguous 1130 | bufri(iu,2*iv,iw) = grid(idxu, idxv, idxw).real(); | ~~~~~^~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1131:22: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&, int64_t, int64_t&)’ is ambiguous 1131 | bufri(iu,2*iv+1,iw) = grid(idxu, idxv, idxw).imag(); | ~~~~~^~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 10; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:1274:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 1274 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1274:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:979:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1435:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 1435 | if (si3) si3->interp(cmav,3>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = float; Tcoord = double; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:102:37: required from here 102 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 103 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1344:17: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 1344 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 12; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:1171:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep(std::array) [with long unsigned int supp = 12; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 1171 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:1274:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 1274 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1274:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:979:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1435:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 1435 | if (si3) si3->interp(cmav,3>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = float; Tcoord = double; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:102:37: required from here 102 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 103 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1130:22: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&, int64_t, int64_t&)’ is ambiguous 1130 | bufri(iu,2*iv,iw) = grid(idxu, idxv, idxw).real(); | ~~~~~^~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1131:22: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&, int64_t, int64_t&)’ is ambiguous 1131 | bufri(iu,2*iv+1,iw) = grid(idxu, idxv, idxw).imag(); | ~~~~~^~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 5; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:426:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep_for_index(std::array) [with long unsigned int supp = 5; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 426 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:545:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 7; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 545 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:545:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 8; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:543:62: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 543 | if (supp<=SUPP/2) return interpolation_helper(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:318:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1433:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 1433 | if (si1) si1->interp(cmav,1>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = double; Tcoord = float; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:108:37: required from here 108 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 109 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:407:19: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&)’ is ambiguous 407 | { bufr(iu) = grid(idxu).real(); bufi(iu) = grid(idxu).imag(); } | ~~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:407:49: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&)’ is ambiguous 407 | { bufr(iu) = grid(idxu).real(); bufi(iu) = grid(idxu).imag(); } | ~~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 10; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:545:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 545 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:545:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:318:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1433:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 1433 | if (si1) si1->interp(cmav,1>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = double; Tcoord = float; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:108:37: required from here 108 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 109 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:602:21: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 602 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:627:19: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 627 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 12; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:426:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep_for_index(std::array) [with long unsigned int supp = 12; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 426 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:545:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 545 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:545:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:318:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1433:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 1433 | if (si1) si1->interp(cmav,1>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = double; Tcoord = float; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:108:37: required from here 108 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 109 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:407:19: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&)’ is ambiguous 407 | { bufr(iu) = grid(idxu).real(); bufi(iu) = grid(idxu).imag(); } | ~~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:407:49: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&)’ is ambiguous 407 | { bufr(iu) = grid(idxu).real(); bufi(iu) = grid(idxu).imag(); } | ~~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 5; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:799:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep(std::array) [with long unsigned int supp = 5; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 799 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:895:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 7; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 895 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:895:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 8; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:893:62: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 893 | if (supp<=SUPP/2) return interpolation_helper(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:653:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1434:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 1434 | if (si2) si2->interp(cmav,2>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = double; Tcoord = float; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:108:37: required from here 108 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 109 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:762:20: error: call of ‘(ducc0::detail_mav::vmav) (int64_t, int64_t&)’ is ambiguous 762 | bufri(2*iu ,iv) = grid(idxu, idxv).real(); | ~~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:763:20: error: call of ‘(ducc0::detail_mav::vmav) (int64_t, int64_t&)’ is ambiguous 763 | bufri(2*iu+1,iv) = grid(idxu, idxv).imag(); | ~~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 10; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:895:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 895 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:895:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:653:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1434:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 1434 | if (si2) si2->interp(cmav,2>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = double; Tcoord = float; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:108:37: required from here 108 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 109 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:951:17: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 951 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 12; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:799:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep(std::array) [with long unsigned int supp = 12; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 799 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:895:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 895 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:895:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:653:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1434:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 1434 | if (si2) si2->interp(cmav,2>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = double; Tcoord = float; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:108:37: required from here 108 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 109 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:762:20: error: call of ‘(ducc0::detail_mav::vmav) (int64_t, int64_t&)’ is ambiguous 762 | bufri(2*iu ,iv) = grid(idxu, idxv).real(); | ~~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:763:20: error: call of ‘(ducc0::detail_mav::vmav) (int64_t, int64_t&)’ is ambiguous 763 | bufri(2*iu+1,iv) = grid(idxu, idxv).imag(); | ~~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 5; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:1171:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep(std::array) [with long unsigned int supp = 5; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 1171 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:1274:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 7; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 1274 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1274:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 8; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:1272:62: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 1272 | if (supp<=SUPP/2) return interpolation_helper(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:979:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1435:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 1435 | if (si3) si3->interp(cmav,3>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = double; Tcoord = float; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:108:37: required from here 108 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 109 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1130:22: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&, int64_t, int64_t&)’ is ambiguous 1130 | bufri(iu,2*iv,iw) = grid(idxu, idxv, idxw).real(); | ~~~~~^~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1131:22: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&, int64_t, int64_t&)’ is ambiguous 1131 | bufri(iu,2*iv+1,iw) = grid(idxu, idxv, idxw).imag(); | ~~~~~^~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 10; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:1274:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 1274 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1274:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:979:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1435:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 1435 | if (si3) si3->interp(cmav,3>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = double; Tcoord = float; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:108:37: required from here 108 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 109 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1344:17: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 1344 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 12; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:1171:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep(std::array) [with long unsigned int supp = 12; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 1171 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:1274:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 1274 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1274:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:979:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1435:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 1435 | if (si3) si3->interp(cmav,3>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = double; Tcoord = float; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:108:37: required from here 108 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 109 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1130:22: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&, int64_t, int64_t&)’ is ambiguous 1130 | bufri(iu,2*iv,iw) = grid(idxu, idxv, idxw).real(); | ~~~~~^~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1131:22: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&, int64_t, int64_t&)’ is ambiguous 1131 | bufri(iu,2*iv+1,iw) = grid(idxu, idxv, idxw).imag(); | ~~~~~^~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 9; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:545:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 545 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:545:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:318:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1449:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 1449 | if (si1) si1->interp(cmav,1>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = double]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:500:35: required from here 500 | if (pd) return do_get_points(pd, coord, values, gridd); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:602:21: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 602 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:627:19: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 627 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 11; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:426:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep_for_index(std::array) [with long unsigned int supp = 11; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 426 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:545:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 545 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:545:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:318:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1449:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 1449 | if (si1) si1->interp(cmav,1>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = double]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:500:35: required from here 500 | if (pd) return do_get_points(pd, coord, values, gridd); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:407:19: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&)’ is ambiguous 407 | { bufr(iu) = grid(idxu).real(); bufi(iu) = grid(idxu).imag(); } | ~~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:407:49: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&)’ is ambiguous 407 | { bufr(iu) = grid(idxu).real(); bufi(iu) = grid(idxu).imag(); } | ~~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 9; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:895:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 895 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:895:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:653:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1450:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 1450 | if (si2) si2->interp(cmav,2>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = double]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:500:35: required from here 500 | if (pd) return do_get_points(pd, coord, values, gridd); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:951:17: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 951 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 11; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:799:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep(std::array) [with long unsigned int supp = 11; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 799 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:895:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 895 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:895:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:653:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1450:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 1450 | if (si2) si2->interp(cmav,2>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = double]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:500:35: required from here 500 | if (pd) return do_get_points(pd, coord, values, gridd); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:762:20: error: call of ‘(ducc0::detail_mav::vmav) (int64_t, int64_t&)’ is ambiguous 762 | bufri(2*iu ,iv) = grid(idxu, idxv).real(); | ~~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:763:20: error: call of ‘(ducc0::detail_mav::vmav) (int64_t, int64_t&)’ is ambiguous 763 | bufri(2*iu+1,iv) = grid(idxu, idxv).imag(); | ~~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 9; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:1274:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 1274 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1274:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:979:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1451:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 1451 | if (si3) si3->interp(cmav,3>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = double]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:500:35: required from here 500 | if (pd) return do_get_points(pd, coord, values, gridd); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1344:17: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 1344 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 11; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:1171:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep(std::array) [with long unsigned int supp = 11; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 1171 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:1274:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 1274 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1274:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:979:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1451:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 1451 | if (si3) si3->interp(cmav,3>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = double]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:500:35: required from here 500 | if (pd) return do_get_points(pd, coord, values, gridd); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1130:22: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&, int64_t, int64_t&)’ is ambiguous 1130 | bufri(iu,2*iv,iw) = grid(idxu, idxv, idxw).real(); | ~~~~~^~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1131:22: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&, int64_t, int64_t&)’ is ambiguous 1131 | bufri(iu,2*iv+1,iw) = grid(idxu, idxv, idxw).imag(); | ~~~~~^~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 9; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:545:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 545 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:545:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:318:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1449:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 1449 | if (si1) si1->interp(cmav,1>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = float]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:501:35: required from here 501 | if (pf) return do_get_points(pf, coord, values, gridf); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:602:21: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 602 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:627:19: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 627 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 11; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:426:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep_for_index(std::array) [with long unsigned int supp = 11; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 426 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:545:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 545 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:545:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:318:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1449:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 1449 | if (si1) si1->interp(cmav,1>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = float]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:501:35: required from here 501 | if (pf) return do_get_points(pf, coord, values, gridf); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:407:19: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&)’ is ambiguous 407 | { bufr(iu) = grid(idxu).real(); bufi(iu) = grid(idxu).imag(); } | ~~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int}; T = float; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int}; T = float; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:407:49: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&)’ is ambiguous 407 | { bufr(iu) = grid(idxu).real(); bufi(iu) = grid(idxu).imag(); } | ~~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int}; T = float; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int}; T = float; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 9; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:895:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 895 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:895:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:653:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1450:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 1450 | if (si2) si2->interp(cmav,2>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = float]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:501:35: required from here 501 | if (pf) return do_get_points(pf, coord, values, gridf); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:951:17: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 951 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 11; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:799:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep(std::array) [with long unsigned int supp = 11; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 799 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:895:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 895 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:895:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:653:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1450:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 1450 | if (si2) si2->interp(cmav,2>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = float]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:501:35: required from here 501 | if (pf) return do_get_points(pf, coord, values, gridf); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:762:20: error: call of ‘(ducc0::detail_mav::vmav) (int64_t, int64_t&)’ is ambiguous 762 | bufri(2*iu ,iv) = grid(idxu, idxv).real(); | ~~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:763:20: error: call of ‘(ducc0::detail_mav::vmav) (int64_t, int64_t&)’ is ambiguous 763 | bufri(2*iu+1,iv) = grid(idxu, idxv).imag(); | ~~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 9; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:1274:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 1274 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1274:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:979:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1451:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 1451 | if (si3) si3->interp(cmav,3>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = float]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:501:35: required from here 501 | if (pf) return do_get_points(pf, coord, values, gridf); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1344:17: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 1344 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 11; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:1171:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep(std::array) [with long unsigned int supp = 11; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 1171 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:1274:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 1274 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1274:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:979:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1451:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 1451 | if (si3) si3->interp(cmav,3>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = float]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:501:35: required from here 501 | if (pf) return do_get_points(pf, coord, values, gridf); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1130:22: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&, int64_t, int64_t&)’ is ambiguous 1130 | bufri(iu,2*iv,iw) = grid(idxu, idxv, idxw).real(); | ~~~~~^~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1131:22: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&, int64_t, int64_t&)’ is ambiguous 1131 | bufri(iu,2*iv+1,iw) = grid(idxu, idxv, idxw).imag(); | ~~~~~^~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::HelperX2g2::dump() [with long unsigned int supp = 11; bool wgrid = true; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:997:25: required from ‘ducc0::detail_gridder::Wgridder::HelperX2g2::~HelperX2g2() [with long unsigned int supp = 11; bool wgrid = true; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 997 | ~HelperX2g2() { dump(); } | ^~~~ ./src/ducc0/wgridder/wgridder.h:1143:61: recursively required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 15; bool wgrid = true; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1143 | if (supp(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1143:61: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 16; bool wgrid = true; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ ./src/ducc0/wgridder/wgridder.h:1238:38: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c(const ducc0::detail_mav::vmav, 2>&, size_t, double) [with bool wgrid = true; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1238 | x2grid_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1439:25: required from ‘void ducc0::detail_gridder::Wgridder::x2dirty() [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1439 | x2grid_c(grid, pl, w); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:18: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = float; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = float; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:208:32: required from here 208 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 209 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 210 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 211 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:965:19: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (int&, int&)’ is ambiguous 965 | grid(idxu,idxv) += complex(Tcalc(bufr(iu,iv)), Tcalc(bufi(iu,iv))); | ~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:965:59: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 965 | grid(idxu,idxv) += complex(Tcalc(bufr(iu,iv)), Tcalc(bufi(iu,iv))); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:966:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 966 | bufr(iu,iv) = bufi(iu,iv) = 0; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:966:33: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 966 | bufr(iu,iv) = bufi(iu,iv) = 0; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::HelperX2g2::dump() [with long unsigned int supp = 11; bool wgrid = false; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:997:25: required from ‘ducc0::detail_gridder::Wgridder::HelperX2g2::~HelperX2g2() [with long unsigned int supp = 11; bool wgrid = false; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 997 | ~HelperX2g2() { dump(); } | ^~~~ ./src/ducc0/wgridder/wgridder.h:1143:61: recursively required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 15; bool wgrid = false; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1143 | if (supp(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1143:61: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 16; bool wgrid = false; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ ./src/ducc0/wgridder/wgridder.h:1238:38: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c(const ducc0::detail_mav::vmav, 2>&, size_t, double) [with bool wgrid = false; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1238 | x2grid_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1451:24: required from ‘void ducc0::detail_gridder::Wgridder::x2dirty() [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1451 | x2grid_c(grid, 0); | ~~~~~~~~~~~~~~~^~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:18: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = float; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = float; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:208:32: required from here 208 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 209 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 210 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 211 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:965:19: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (int&, int&)’ is ambiguous 965 | grid(idxu,idxv) += complex(Tcalc(bufr(iu,iv)), Tcalc(bufi(iu,iv))); | ~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:965:59: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 965 | grid(idxu,idxv) += complex(Tcalc(bufr(iu,iv)), Tcalc(bufi(iu,iv))); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:966:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 966 | bufr(iu,iv) = bufi(iu,iv) = 0; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:966:33: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 966 | bufr(iu,iv) = bufi(iu,iv) = 0; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::HelperX2g2::dump() [with long unsigned int supp = 11; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:997:25: required from ‘ducc0::detail_gridder::Wgridder::HelperX2g2::~HelperX2g2() [with long unsigned int supp = 11; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’ 997 | ~HelperX2g2() { dump(); } | ^~~~ ./src/ducc0/wgridder/wgridder.h:1143:61: recursively required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 15; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1143 | if (supp(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1143:61: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 16; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ ./src/ducc0/wgridder/wgridder.h:1238:38: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c(const ducc0::detail_mav::vmav, 2>&, size_t, double) [with bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1238 | x2grid_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1439:25: required from ‘void ducc0::detail_gridder::Wgridder::x2dirty() [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1439 | x2grid_c(grid, pl, w); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:18: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = double; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = double; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:213:33: required from here 213 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 214 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 215 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 216 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:965:19: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (int&, int&)’ is ambiguous 965 | grid(idxu,idxv) += complex(Tcalc(bufr(iu,iv)), Tcalc(bufi(iu,iv))); | ~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:965:59: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 965 | grid(idxu,idxv) += complex(Tcalc(bufr(iu,iv)), Tcalc(bufi(iu,iv))); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:966:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 966 | bufr(iu,iv) = bufi(iu,iv) = 0; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:966:33: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 966 | bufr(iu,iv) = bufi(iu,iv) = 0; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::HelperX2g2::dump() [with long unsigned int supp = 11; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:997:25: required from ‘ducc0::detail_gridder::Wgridder::HelperX2g2::~HelperX2g2() [with long unsigned int supp = 11; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’ 997 | ~HelperX2g2() { dump(); } | ^~~~ ./src/ducc0/wgridder/wgridder.h:1143:61: recursively required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 15; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1143 | if (supp(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1143:61: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 16; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ ./src/ducc0/wgridder/wgridder.h:1238:38: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c(const ducc0::detail_mav::vmav, 2>&, size_t, double) [with bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1238 | x2grid_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1451:24: required from ‘void ducc0::detail_gridder::Wgridder::x2dirty() [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1451 | x2grid_c(grid, 0); | ~~~~~~~~~~~~~~~^~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:18: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = double; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = double; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:213:33: required from here 213 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 214 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 215 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 216 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:965:19: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (int&, int&)’ is ambiguous 965 | grid(idxu,idxv) += complex(Tcalc(bufr(iu,iv)), Tcalc(bufi(iu,iv))); | ~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:965:59: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 965 | grid(idxu,idxv) += complex(Tcalc(bufr(iu,iv)), Tcalc(bufi(iu,iv))); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:966:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 966 | bufr(iu,iv) = bufi(iu,iv) = 0; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:966:33: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 966 | bufr(iu,iv) = bufi(iu,iv) = 0; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 9; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’: ./src/ducc0/wgridder/wgridder.h:1247:61: recursively required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 15; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1247 | if (supp(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1247:61: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 16; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ ./src/ducc0/wgridder/wgridder.h:1340:38: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c(const ducc0::detail_mav::cmav, 2>&, size_t, double) [with bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1340 | grid2x_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1479:25: required from ‘void ducc0::detail_gridder::Wgridder::dirty2x() [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1479 | grid2x_c(grid, pl, w); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:30: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = double; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = double; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:213:33: required from here 213 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 214 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 215 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 216 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1322:45: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 1322 | if (!firstplane) r += ms_out(row, ch); | ~~~~~~^~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1327:23: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 1327 | ms_out(row, ch) = r; | ~~~~~~^~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::HelperG2x2::load() [with long unsigned int supp = 11; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:1113:13: required from ‘void ducc0::detail_gridder::Wgridder::HelperG2x2::prep(const ducc0::detail_gridder::UVW&, size_t) [with long unsigned int supp = 11; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1113 | load(); | ^~~~ ./src/ducc0/wgridder/wgridder.h:1247:61: recursively required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 15; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1247 | if (supp(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1247:61: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 16; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ ./src/ducc0/wgridder/wgridder.h:1340:38: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c(const ducc0::detail_mav::cmav, 2>&, size_t, double) [with bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1340 | grid2x_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1479:25: required from ‘void ducc0::detail_gridder::Wgridder::dirty2x() [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1479 | grid2x_c(grid, pl, w); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:30: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = double; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = double; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:213:33: required from here 213 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 214 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 215 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 216 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1062:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 1062 | bufr(iu,iv) = grid(idxu, idxv).real(); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1063:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 1063 | bufi(iu,iv) = grid(idxu, idxv).imag(); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 9; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’: ./src/ducc0/wgridder/wgridder.h:1247:61: recursively required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 15; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1247 | if (supp(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1247:61: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 16; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ ./src/ducc0/wgridder/wgridder.h:1340:38: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c(const ducc0::detail_mav::cmav, 2>&, size_t, double) [with bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1340 | grid2x_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1494:24: required from ‘void ducc0::detail_gridder::Wgridder::dirty2x() [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1494 | grid2x_c(grid, 0); | ~~~~~~~~~~~~~~~^~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:30: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = double; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = double; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:213:33: required from here 213 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 214 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 215 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 216 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1322:45: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 1322 | if (!firstplane) r += ms_out(row, ch); | ~~~~~~^~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1327:23: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (size_t&, size_t&)’ is ambiguous 1327 | ms_out(row, ch) = r; | ~~~~~~^~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int, long unsigned int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::HelperG2x2::load() [with long unsigned int supp = 11; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:1113:13: required from ‘void ducc0::detail_gridder::Wgridder::HelperG2x2::prep(const ducc0::detail_gridder::UVW&, size_t) [with long unsigned int supp = 11; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1113 | load(); | ^~~~ ./src/ducc0/wgridder/wgridder.h:1247:61: recursively required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 15; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1247 | if (supp(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1247:61: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 16; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ ./src/ducc0/wgridder/wgridder.h:1340:38: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c(const ducc0::detail_mav::cmav, 2>&, size_t, double) [with bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1340 | grid2x_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1494:24: required from ‘void ducc0::detail_gridder::Wgridder::dirty2x() [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1494 | grid2x_c(grid, 0); | ~~~~~~~~~~~~~~~^~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:30: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = double; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = double; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:213:33: required from here 213 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 214 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 215 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 216 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1062:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 1062 | bufr(iu,iv) = grid(idxu, idxv).real(); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1063:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 1063 | bufi(iu,iv) = grid(idxu, idxv).imag(); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 9; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:545:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 545 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:545:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:318:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1433:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 1433 | if (si1) si1->interp(cmav,1>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = float; Tcoord = double; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:102:37: required from here 102 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 103 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:602:21: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 602 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:627:19: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 627 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 11; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:426:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep_for_index(std::array) [with long unsigned int supp = 11; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 426 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:545:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 545 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:545:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:318:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1433:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 1433 | if (si1) si1->interp(cmav,1>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = float; Tcoord = double; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:102:37: required from here 102 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 103 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:407:19: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&)’ is ambiguous 407 | { bufr(iu) = grid(idxu).real(); bufi(iu) = grid(idxu).imag(); } | ~~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int}; T = float; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int}; T = float; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:407:49: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&)’ is ambiguous 407 | { bufr(iu) = grid(idxu).real(); bufi(iu) = grid(idxu).imag(); } | ~~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int}; T = float; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int}; T = float; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 9; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:895:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 895 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:895:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:653:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1434:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 1434 | if (si2) si2->interp(cmav,2>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = float; Tcoord = double; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:102:37: required from here 102 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 103 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:951:17: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 951 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 11; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:799:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep(std::array) [with long unsigned int supp = 11; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 799 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:895:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 895 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:895:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:653:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1434:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 1434 | if (si2) si2->interp(cmav,2>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = float; Tcoord = double; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:102:37: required from here 102 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 103 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:762:20: error: call of ‘(ducc0::detail_mav::vmav) (int64_t, int64_t&)’ is ambiguous 762 | bufri(2*iu ,iv) = grid(idxu, idxv).real(); | ~~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:763:20: error: call of ‘(ducc0::detail_mav::vmav) (int64_t, int64_t&)’ is ambiguous 763 | bufri(2*iu+1,iv) = grid(idxu, idxv).imag(); | ~~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 9; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:1274:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 1274 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1274:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:979:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1435:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 1435 | if (si3) si3->interp(cmav,3>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = float; Tcoord = double; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:102:37: required from here 102 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 103 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1344:17: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 1344 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 11; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:1171:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep(std::array) [with long unsigned int supp = 11; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 1171 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:1274:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 1274 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1274:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:979:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1435:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 1435 | if (si3) si3->interp(cmav,3>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = float; Tcoord = double; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:102:37: required from here 102 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 103 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1130:22: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&, int64_t, int64_t&)’ is ambiguous 1130 | bufri(iu,2*iv,iw) = grid(idxu, idxv, idxw).real(); | ~~~~~^~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1131:22: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&, int64_t, int64_t&)’ is ambiguous 1131 | bufri(iu,2*iv+1,iw) = grid(idxu, idxv, idxw).imag(); | ~~~~~^~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 9; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:545:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 545 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:545:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:318:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1433:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 1433 | if (si1) si1->interp(cmav,1>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = double; Tcoord = float; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:108:37: required from here 108 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 109 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:602:21: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 602 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:627:19: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 627 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 11; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:426:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep_for_index(std::array) [with long unsigned int supp = 11; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 426 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:545:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 545 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:545:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:318:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1433:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 1433 | if (si1) si1->interp(cmav,1>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = double; Tcoord = float; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:108:37: required from here 108 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 109 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:407:19: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&)’ is ambiguous 407 | { bufr(iu) = grid(idxu).real(); bufi(iu) = grid(idxu).imag(); } | ~~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:407:49: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&)’ is ambiguous 407 | { bufr(iu) = grid(idxu).real(); bufi(iu) = grid(idxu).imag(); } | ~~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 9; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:895:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 895 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:895:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:653:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1434:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 1434 | if (si2) si2->interp(cmav,2>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = double; Tcoord = float; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:108:37: required from here 108 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 109 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:951:17: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 951 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 11; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:799:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep(std::array) [with long unsigned int supp = 11; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 799 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:895:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 895 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:895:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:653:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1434:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 1434 | if (si2) si2->interp(cmav,2>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = double; Tcoord = float; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:108:37: required from here 108 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 109 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:762:20: error: call of ‘(ducc0::detail_mav::vmav) (int64_t, int64_t&)’ is ambiguous 762 | bufri(2*iu ,iv) = grid(idxu, idxv).real(); | ~~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:763:20: error: call of ‘(ducc0::detail_mav::vmav) (int64_t, int64_t&)’ is ambiguous 763 | bufri(2*iu+1,iv) = grid(idxu, idxv).imag(); | ~~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 9; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:1274:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 1274 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1274:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:979:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1435:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 1435 | if (si3) si3->interp(cmav,3>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = double; Tcoord = float; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:108:37: required from here 108 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 109 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1344:17: error: call of ‘(const ducc0::detail_mav::vmav, 1>) (size_t&)’ is ambiguous 1344 | points(row) = hsum_cmplx(rr,ri); | ~~~~~~^~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long unsigned int}; T = std::complex; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 11; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:1171:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep(std::array) [with long unsigned int supp = 11; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 1171 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:1274:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 1274 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1274:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:979:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1435:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 1435 | if (si3) si3->interp(cmav,3>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = double; Tcoord = float; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:108:37: required from here 108 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 109 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1130:22: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&, int64_t, int64_t&)’ is ambiguous 1130 | bufri(iu,2*iv,iw) = grid(idxu, idxv, idxw).real(); | ~~~~~^~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1131:22: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&, int64_t, int64_t&)’ is ambiguous 1131 | bufri(iu,2*iv+1,iw) = grid(idxu, idxv, idxw).imag(); | ~~~~~^~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 10; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:426:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep_for_index(std::array) [with long unsigned int supp = 10; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 426 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:545:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 545 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:545:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:318:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1449:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 1449 | if (si1) si1->interp(cmav,1>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = double]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:500:35: required from here 500 | if (pd) return do_get_points(pd, coord, values, gridd); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:407:19: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&)’ is ambiguous 407 | { bufr(iu) = grid(idxu).real(); bufi(iu) = grid(idxu).imag(); } | ~~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:407:49: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&)’ is ambiguous 407 | { bufr(iu) = grid(idxu).real(); bufi(iu) = grid(idxu).imag(); } | ~~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 10; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:799:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep(std::array) [with long unsigned int supp = 10; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 799 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:895:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 895 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:895:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:653:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1450:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 1450 | if (si2) si2->interp(cmav,2>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = double]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:500:35: required from here 500 | if (pd) return do_get_points(pd, coord, values, gridd); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:762:20: error: call of ‘(ducc0::detail_mav::vmav) (int64_t, int64_t&)’ is ambiguous 762 | bufri(2*iu ,iv) = grid(idxu, idxv).real(); | ~~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:763:20: error: call of ‘(ducc0::detail_mav::vmav) (int64_t, int64_t&)’ is ambiguous 763 | bufri(2*iu+1,iv) = grid(idxu, idxv).imag(); | ~~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 10; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:1171:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep(std::array) [with long unsigned int supp = 10; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 1171 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:1274:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 1274 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1274:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:979:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1451:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 1451 | if (si3) si3->interp(cmav,3>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = double]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:500:35: required from here 500 | if (pd) return do_get_points(pd, coord, values, gridd); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1130:22: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&, int64_t, int64_t&)’ is ambiguous 1130 | bufri(iu,2*iv,iw) = grid(idxu, idxv, idxw).real(); | ~~~~~^~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1131:22: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&, int64_t, int64_t&)’ is ambiguous 1131 | bufri(iu,2*iv+1,iw) = grid(idxu, idxv, idxw).imag(); | ~~~~~^~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 10; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:426:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep_for_index(std::array) [with long unsigned int supp = 10; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 426 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:545:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 545 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:545:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:318:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1449:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 1449 | if (si1) si1->interp(cmav,1>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = float]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:501:35: required from here 501 | if (pf) return do_get_points(pf, coord, values, gridf); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:407:19: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&)’ is ambiguous 407 | { bufr(iu) = grid(idxu).real(); bufi(iu) = grid(idxu).imag(); } | ~~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int}; T = float; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int}; T = float; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:407:49: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&)’ is ambiguous 407 | { bufr(iu) = grid(idxu).real(); bufi(iu) = grid(idxu).imag(); } | ~~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int}; T = float; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int}; T = float; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 10; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:799:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep(std::array) [with long unsigned int supp = 10; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 799 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:895:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 895 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:895:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:653:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1450:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 1450 | if (si2) si2->interp(cmav,2>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = float]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:501:35: required from here 501 | if (pf) return do_get_points(pf, coord, values, gridf); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:762:20: error: call of ‘(ducc0::detail_mav::vmav) (int64_t, int64_t&)’ is ambiguous 762 | bufri(2*iu ,iv) = grid(idxu, idxv).real(); | ~~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:763:20: error: call of ‘(ducc0::detail_mav::vmav) (int64_t, int64_t&)’ is ambiguous 763 | bufri(2*iu+1,iv) = grid(idxu, idxv).imag(); | ~~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 10; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:1171:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep(std::array) [with long unsigned int supp = 10; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 1171 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:1274:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 1274 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1274:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:979:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1451:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 1451 | if (si3) si3->interp(cmav,3>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = float]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:501:35: required from here 501 | if (pf) return do_get_points(pf, coord, values, gridf); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1130:22: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&, int64_t, int64_t&)’ is ambiguous 1130 | bufri(iu,2*iv,iw) = grid(idxu, idxv, idxw).real(); | ~~~~~^~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1131:22: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&, int64_t, int64_t&)’ is ambiguous 1131 | bufri(iu,2*iv+1,iw) = grid(idxu, idxv, idxw).imag(); | ~~~~~^~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::HelperX2g2::dump() [with long unsigned int supp = 10; bool wgrid = true; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:997:25: required from ‘ducc0::detail_gridder::Wgridder::HelperX2g2::~HelperX2g2() [with long unsigned int supp = 10; bool wgrid = true; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 997 | ~HelperX2g2() { dump(); } | ^~~~ ./src/ducc0/wgridder/wgridder.h:1143:61: recursively required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 15; bool wgrid = true; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1143 | if (supp(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1143:61: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 16; bool wgrid = true; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ ./src/ducc0/wgridder/wgridder.h:1238:38: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c(const ducc0::detail_mav::vmav, 2>&, size_t, double) [with bool wgrid = true; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1238 | x2grid_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1439:25: required from ‘void ducc0::detail_gridder::Wgridder::x2dirty() [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1439 | x2grid_c(grid, pl, w); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:18: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = float; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = float; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:208:32: required from here 208 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 209 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 210 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 211 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:965:19: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (int&, int&)’ is ambiguous 965 | grid(idxu,idxv) += complex(Tcalc(bufr(iu,iv)), Tcalc(bufi(iu,iv))); | ~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:965:59: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 965 | grid(idxu,idxv) += complex(Tcalc(bufr(iu,iv)), Tcalc(bufi(iu,iv))); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:966:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 966 | bufr(iu,iv) = bufi(iu,iv) = 0; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:966:33: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 966 | bufr(iu,iv) = bufi(iu,iv) = 0; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::HelperX2g2::dump() [with long unsigned int supp = 10; bool wgrid = false; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:997:25: required from ‘ducc0::detail_gridder::Wgridder::HelperX2g2::~HelperX2g2() [with long unsigned int supp = 10; bool wgrid = false; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 997 | ~HelperX2g2() { dump(); } | ^~~~ ./src/ducc0/wgridder/wgridder.h:1143:61: recursively required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 15; bool wgrid = false; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1143 | if (supp(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1143:61: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 16; bool wgrid = false; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ ./src/ducc0/wgridder/wgridder.h:1238:38: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c(const ducc0::detail_mav::vmav, 2>&, size_t, double) [with bool wgrid = false; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1238 | x2grid_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1451:24: required from ‘void ducc0::detail_gridder::Wgridder::x2dirty() [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1451 | x2grid_c(grid, 0); | ~~~~~~~~~~~~~~~^~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:18: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = float; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = float; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:208:32: required from here 208 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 209 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 210 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 211 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:965:19: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (int&, int&)’ is ambiguous 965 | grid(idxu,idxv) += complex(Tcalc(bufr(iu,iv)), Tcalc(bufi(iu,iv))); | ~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:965:59: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 965 | grid(idxu,idxv) += complex(Tcalc(bufr(iu,iv)), Tcalc(bufi(iu,iv))); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:966:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 966 | bufr(iu,iv) = bufi(iu,iv) = 0; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:966:33: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 966 | bufr(iu,iv) = bufi(iu,iv) = 0; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::HelperX2g2::dump() [with long unsigned int supp = 10; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:997:25: required from ‘ducc0::detail_gridder::Wgridder::HelperX2g2::~HelperX2g2() [with long unsigned int supp = 10; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’ 997 | ~HelperX2g2() { dump(); } | ^~~~ ./src/ducc0/wgridder/wgridder.h:1143:61: recursively required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 15; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1143 | if (supp(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1143:61: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 16; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ ./src/ducc0/wgridder/wgridder.h:1238:38: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c(const ducc0::detail_mav::vmav, 2>&, size_t, double) [with bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1238 | x2grid_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1439:25: required from ‘void ducc0::detail_gridder::Wgridder::x2dirty() [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1439 | x2grid_c(grid, pl, w); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:18: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = double; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = double; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:213:33: required from here 213 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 214 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 215 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 216 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:965:19: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (int&, int&)’ is ambiguous 965 | grid(idxu,idxv) += complex(Tcalc(bufr(iu,iv)), Tcalc(bufi(iu,iv))); | ~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:965:59: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 965 | grid(idxu,idxv) += complex(Tcalc(bufr(iu,iv)), Tcalc(bufi(iu,iv))); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:966:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 966 | bufr(iu,iv) = bufi(iu,iv) = 0; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:966:33: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 966 | bufr(iu,iv) = bufi(iu,iv) = 0; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::HelperX2g2::dump() [with long unsigned int supp = 10; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:997:25: required from ‘ducc0::detail_gridder::Wgridder::HelperX2g2::~HelperX2g2() [with long unsigned int supp = 10; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’ 997 | ~HelperX2g2() { dump(); } | ^~~~ ./src/ducc0/wgridder/wgridder.h:1143:61: recursively required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 15; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1143 | if (supp(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1143:61: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 16; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ ./src/ducc0/wgridder/wgridder.h:1238:38: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c(const ducc0::detail_mav::vmav, 2>&, size_t, double) [with bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1238 | x2grid_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1451:24: required from ‘void ducc0::detail_gridder::Wgridder::x2dirty() [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1451 | x2grid_c(grid, 0); | ~~~~~~~~~~~~~~~^~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:18: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = double; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = double; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:213:33: required from here 213 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 214 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 215 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 216 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:965:19: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (int&, int&)’ is ambiguous 965 | grid(idxu,idxv) += complex(Tcalc(bufr(iu,iv)), Tcalc(bufi(iu,iv))); | ~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:965:59: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 965 | grid(idxu,idxv) += complex(Tcalc(bufr(iu,iv)), Tcalc(bufi(iu,iv))); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:966:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 966 | bufr(iu,iv) = bufi(iu,iv) = 0; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:966:33: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 966 | bufr(iu,iv) = bufi(iu,iv) = 0; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::HelperG2x2::load() [with long unsigned int supp = 10; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:1113:13: required from ‘void ducc0::detail_gridder::Wgridder::HelperG2x2::prep(const ducc0::detail_gridder::UVW&, size_t) [with long unsigned int supp = 10; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1113 | load(); | ^~~~ ./src/ducc0/wgridder/wgridder.h:1247:61: recursively required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 15; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1247 | if (supp(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1247:61: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 16; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ ./src/ducc0/wgridder/wgridder.h:1340:38: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c(const ducc0::detail_mav::cmav, 2>&, size_t, double) [with bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1340 | grid2x_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1479:25: required from ‘void ducc0::detail_gridder::Wgridder::dirty2x() [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1479 | grid2x_c(grid, pl, w); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:30: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = double; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = double; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:213:33: required from here 213 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 214 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 215 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 216 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1062:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 1062 | bufr(iu,iv) = grid(idxu, idxv).real(); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1063:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 1063 | bufi(iu,iv) = grid(idxu, idxv).imag(); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::HelperG2x2::load() [with long unsigned int supp = 10; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:1113:13: required from ‘void ducc0::detail_gridder::Wgridder::HelperG2x2::prep(const ducc0::detail_gridder::UVW&, size_t) [with long unsigned int supp = 10; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1113 | load(); | ^~~~ ./src/ducc0/wgridder/wgridder.h:1247:61: recursively required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 15; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1247 | if (supp(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1247:61: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 16; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ ./src/ducc0/wgridder/wgridder.h:1340:38: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c(const ducc0::detail_mav::cmav, 2>&, size_t, double) [with bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1340 | grid2x_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1494:24: required from ‘void ducc0::detail_gridder::Wgridder::dirty2x() [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1494 | grid2x_c(grid, 0); | ~~~~~~~~~~~~~~~^~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:30: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = double; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = double; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:213:33: required from here 213 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 214 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 215 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 216 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1062:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 1062 | bufr(iu,iv) = grid(idxu, idxv).real(); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1063:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 1063 | bufi(iu,iv) = grid(idxu, idxv).imag(); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 10; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:426:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep_for_index(std::array) [with long unsigned int supp = 10; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 426 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:545:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 545 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:545:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:318:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1433:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 1433 | if (si1) si1->interp(cmav,1>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = float; Tcoord = double; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:102:37: required from here 102 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 103 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:407:19: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&)’ is ambiguous 407 | { bufr(iu) = grid(idxu).real(); bufi(iu) = grid(idxu).imag(); } | ~~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int}; T = float; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int}; T = float; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:407:49: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&)’ is ambiguous 407 | { bufr(iu) = grid(idxu).real(); bufi(iu) = grid(idxu).imag(); } | ~~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int}; T = float; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int}; T = float; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 10; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:799:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep(std::array) [with long unsigned int supp = 10; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 799 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:895:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 895 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:895:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:653:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1434:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 1434 | if (si2) si2->interp(cmav,2>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = float; Tcoord = double; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:102:37: required from here 102 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 103 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:762:20: error: call of ‘(ducc0::detail_mav::vmav) (int64_t, int64_t&)’ is ambiguous 762 | bufri(2*iu ,iv) = grid(idxu, idxv).real(); | ~~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:763:20: error: call of ‘(ducc0::detail_mav::vmav) (int64_t, int64_t&)’ is ambiguous 763 | bufri(2*iu+1,iv) = grid(idxu, idxv).imag(); | ~~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 10; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:1171:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep(std::array) [with long unsigned int supp = 10; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 1171 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:1274:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 1274 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1274:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:979:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1435:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 1435 | if (si3) si3->interp(cmav,3>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = float; Tcoord = double; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:102:37: required from here 102 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 103 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1130:22: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&, int64_t, int64_t&)’ is ambiguous 1130 | bufri(iu,2*iv,iw) = grid(idxu, idxv, idxw).real(); | ~~~~~^~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1131:22: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&, int64_t, int64_t&)’ is ambiguous 1131 | bufri(iu,2*iv+1,iw) = grid(idxu, idxv, idxw).imag(); | ~~~~~^~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 10; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:426:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep_for_index(std::array) [with long unsigned int supp = 10; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 426 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:545:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 545 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:545:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:318:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1433:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 1433 | if (si1) si1->interp(cmav,1>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = double; Tcoord = float; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:108:37: required from here 108 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 109 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:407:19: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&)’ is ambiguous 407 | { bufr(iu) = grid(idxu).real(); bufi(iu) = grid(idxu).imag(); } | ~~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:407:49: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&)’ is ambiguous 407 | { bufr(iu) = grid(idxu).real(); bufi(iu) = grid(idxu).imag(); } | ~~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 10; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:799:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep(std::array) [with long unsigned int supp = 10; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 799 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:895:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 895 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:895:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:653:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1434:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 1434 | if (si2) si2->interp(cmav,2>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = double; Tcoord = float; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:108:37: required from here 108 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 109 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:762:20: error: call of ‘(ducc0::detail_mav::vmav) (int64_t, int64_t&)’ is ambiguous 762 | bufri(2*iu ,iv) = grid(idxu, idxv).real(); | ~~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:763:20: error: call of ‘(ducc0::detail_mav::vmav) (int64_t, int64_t&)’ is ambiguous 763 | bufri(2*iu+1,iv) = grid(idxu, idxv).imag(); | ~~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 10; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:1171:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep(std::array) [with long unsigned int supp = 10; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 1171 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:1274:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 1274 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1274:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:979:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1435:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 1435 | if (si3) si3->interp(cmav,3>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = double; Tcoord = float; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:108:37: required from here 108 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 109 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1130:22: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&, int64_t, int64_t&)’ is ambiguous 1130 | bufri(iu,2*iv,iw) = grid(idxu, idxv, idxw).real(); | ~~~~~^~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1131:22: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&, int64_t, int64_t&)’ is ambiguous 1131 | bufri(iu,2*iv+1,iw) = grid(idxu, idxv, idxw).imag(); | ~~~~~^~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 9; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:426:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep_for_index(std::array) [with long unsigned int supp = 9; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 426 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:545:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 545 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:545:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:318:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1449:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 1449 | if (si1) si1->interp(cmav,1>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = double]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:500:35: required from here 500 | if (pd) return do_get_points(pd, coord, values, gridd); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:407:19: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&)’ is ambiguous 407 | { bufr(iu) = grid(idxu).real(); bufi(iu) = grid(idxu).imag(); } | ~~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:407:49: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&)’ is ambiguous 407 | { bufr(iu) = grid(idxu).real(); bufi(iu) = grid(idxu).imag(); } | ~~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 9; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:799:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep(std::array) [with long unsigned int supp = 9; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 799 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:895:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 895 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:895:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:653:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1450:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 1450 | if (si2) si2->interp(cmav,2>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = double]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:500:35: required from here 500 | if (pd) return do_get_points(pd, coord, values, gridd); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:762:20: error: call of ‘(ducc0::detail_mav::vmav) (int64_t, int64_t&)’ is ambiguous 762 | bufri(2*iu ,iv) = grid(idxu, idxv).real(); | ~~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:763:20: error: call of ‘(ducc0::detail_mav::vmav) (int64_t, int64_t&)’ is ambiguous 763 | bufri(2*iu+1,iv) = grid(idxu, idxv).imag(); | ~~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 9; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:1171:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep(std::array) [with long unsigned int supp = 9; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 1171 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:1274:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 1274 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1274:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:979:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1451:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double; Tidx = unsigned int]’ 1451 | if (si3) si3->interp(cmav,3>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = double]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = double]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:500:35: required from here 500 | if (pd) return do_get_points(pd, coord, values, gridd); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1130:22: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&, int64_t, int64_t&)’ is ambiguous 1130 | bufri(iu,2*iv,iw) = grid(idxu, idxv, idxw).real(); | ~~~~~^~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1131:22: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&, int64_t, int64_t&)’ is ambiguous 1131 | bufri(iu,2*iv+1,iw) = grid(idxu, idxv, idxw).imag(); | ~~~~~^~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 9; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:426:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep_for_index(std::array) [with long unsigned int supp = 9; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 426 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:545:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 545 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:545:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:318:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1449:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 1449 | if (si1) si1->interp(cmav,1>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = float]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:501:35: required from here 501 | if (pf) return do_get_points(pf, coord, values, gridf); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:407:19: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&)’ is ambiguous 407 | { bufr(iu) = grid(idxu).real(); bufi(iu) = grid(idxu).imag(); } | ~~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int}; T = float; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int}; T = float; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:407:49: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&)’ is ambiguous 407 | { bufr(iu) = grid(idxu).real(); bufi(iu) = grid(idxu).imag(); } | ~~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int}; T = float; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int}; T = float; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 9; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:799:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep(std::array) [with long unsigned int supp = 9; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 799 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:895:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 895 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:895:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:653:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1450:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 1450 | if (si2) si2->interp(cmav,2>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = float]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:501:35: required from here 501 | if (pf) return do_get_points(pf, coord, values, gridf); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:762:20: error: call of ‘(ducc0::detail_mav::vmav) (int64_t, int64_t&)’ is ambiguous 762 | bufri(2*iu ,iv) = grid(idxu, idxv).real(); | ~~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:763:20: error: call of ‘(ducc0::detail_mav::vmav) (int64_t, int64_t&)’ is ambiguous 763 | bufri(2*iu+1,iv) = grid(idxu, idxv).imag(); | ~~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 9; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:1171:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep(std::array) [with long unsigned int supp = 9; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 1171 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:1274:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 1274 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1274:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:979:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 297 | interpolation_helper<16>(supp, grid, coords, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1451:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’ 1451 | if (si3) si3->interp(cmav,3>(grid), coords, points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:434:26: required from ‘void ducc0::detail_nufft::Nufft::interp(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&, const ducc0::detail_mav::cfmav >&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float]’ 434 | spreadinterp.interp(grid, coords, points); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:473:18: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py_incremental_u2nu::do_get_points(const std::unique_ptr >&, const pybind11::array&, pybind11::object&, const ducc0::detail_mav::cfmav >&) const [with T = float]’ 473 | ptr->interp(coord, values, grid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:501:35: required from here 501 | if (pf) return do_get_points(pf, coord, values, gridf); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1130:22: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&, int64_t, int64_t&)’ is ambiguous 1130 | bufri(iu,2*iv,iw) = grid(idxu, idxv, idxw).real(); | ~~~~~^~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1131:22: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&, int64_t, int64_t&)’ is ambiguous 1131 | bufri(iu,2*iv+1,iw) = grid(idxu, idxv, idxw).imag(); | ~~~~~^~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::HelperX2g2::dump() [with long unsigned int supp = 9; bool wgrid = true; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:997:25: required from ‘ducc0::detail_gridder::Wgridder::HelperX2g2::~HelperX2g2() [with long unsigned int supp = 9; bool wgrid = true; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 997 | ~HelperX2g2() { dump(); } | ^~~~ ./src/ducc0/wgridder/wgridder.h:1143:61: recursively required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 15; bool wgrid = true; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1143 | if (supp(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1143:61: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 16; bool wgrid = true; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ ./src/ducc0/wgridder/wgridder.h:1238:38: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c(const ducc0::detail_mav::vmav, 2>&, size_t, double) [with bool wgrid = true; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1238 | x2grid_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1439:25: required from ‘void ducc0::detail_gridder::Wgridder::x2dirty() [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1439 | x2grid_c(grid, pl, w); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:18: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = float; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = float; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:208:32: required from here 208 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 209 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 210 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 211 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:965:19: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (int&, int&)’ is ambiguous 965 | grid(idxu,idxv) += complex(Tcalc(bufr(iu,iv)), Tcalc(bufi(iu,iv))); | ~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:965:59: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 965 | grid(idxu,idxv) += complex(Tcalc(bufr(iu,iv)), Tcalc(bufi(iu,iv))); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:966:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 966 | bufr(iu,iv) = bufi(iu,iv) = 0; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:966:33: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 966 | bufr(iu,iv) = bufi(iu,iv) = 0; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::HelperX2g2::dump() [with long unsigned int supp = 9; bool wgrid = false; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:997:25: required from ‘ducc0::detail_gridder::Wgridder::HelperX2g2::~HelperX2g2() [with long unsigned int supp = 9; bool wgrid = false; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 997 | ~HelperX2g2() { dump(); } | ^~~~ ./src/ducc0/wgridder/wgridder.h:1143:61: recursively required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 15; bool wgrid = false; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1143 | if (supp(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1143:61: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 16; bool wgrid = false; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ ./src/ducc0/wgridder/wgridder.h:1238:38: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c(const ducc0::detail_mav::vmav, 2>&, size_t, double) [with bool wgrid = false; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1238 | x2grid_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1451:24: required from ‘void ducc0::detail_gridder::Wgridder::x2dirty() [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1451 | x2grid_c(grid, 0); | ~~~~~~~~~~~~~~~^~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:18: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = float; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = float; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:208:32: required from here 208 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 209 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 210 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 211 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:965:19: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (int&, int&)’ is ambiguous 965 | grid(idxu,idxv) += complex(Tcalc(bufr(iu,iv)), Tcalc(bufi(iu,iv))); | ~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:965:59: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 965 | grid(idxu,idxv) += complex(Tcalc(bufr(iu,iv)), Tcalc(bufi(iu,iv))); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:966:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 966 | bufr(iu,iv) = bufi(iu,iv) = 0; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:966:33: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 966 | bufr(iu,iv) = bufi(iu,iv) = 0; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::HelperX2g2::dump() [with long unsigned int supp = 9; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:997:25: required from ‘ducc0::detail_gridder::Wgridder::HelperX2g2::~HelperX2g2() [with long unsigned int supp = 9; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’ 997 | ~HelperX2g2() { dump(); } | ^~~~ ./src/ducc0/wgridder/wgridder.h:1143:61: recursively required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 15; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1143 | if (supp(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1143:61: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 16; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ ./src/ducc0/wgridder/wgridder.h:1238:38: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c(const ducc0::detail_mav::vmav, 2>&, size_t, double) [with bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1238 | x2grid_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1439:25: required from ‘void ducc0::detail_gridder::Wgridder::x2dirty() [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1439 | x2grid_c(grid, pl, w); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:18: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = double; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = double; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:213:33: required from here 213 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 214 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 215 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 216 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:965:19: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (int&, int&)’ is ambiguous 965 | grid(idxu,idxv) += complex(Tcalc(bufr(iu,iv)), Tcalc(bufi(iu,iv))); | ~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:965:59: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 965 | grid(idxu,idxv) += complex(Tcalc(bufr(iu,iv)), Tcalc(bufi(iu,iv))); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:966:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 966 | bufr(iu,iv) = bufi(iu,iv) = 0; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:966:33: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 966 | bufr(iu,iv) = bufi(iu,iv) = 0; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::HelperX2g2::dump() [with long unsigned int supp = 9; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:997:25: required from ‘ducc0::detail_gridder::Wgridder::HelperX2g2::~HelperX2g2() [with long unsigned int supp = 9; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’ 997 | ~HelperX2g2() { dump(); } | ^~~~ ./src/ducc0/wgridder/wgridder.h:1143:61: recursively required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 15; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1143 | if (supp(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1143:61: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav, 2>&, size_t, double) [with long unsigned int SUPP = 16; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ ./src/ducc0/wgridder/wgridder.h:1238:38: required from ‘void ducc0::detail_gridder::Wgridder::x2grid_c(const ducc0::detail_mav::vmav, 2>&, size_t, double) [with bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1238 | x2grid_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1451:24: required from ‘void ducc0::detail_gridder::Wgridder::x2dirty() [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1451 | x2grid_c(grid, 0); | ~~~~~~~~~~~~~~~^~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:18: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = double; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = double; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:213:33: required from here 213 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 214 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 215 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 216 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:965:19: error: call of ‘(const ducc0::detail_mav::vmav, 2>) (int&, int&)’ is ambiguous 965 | grid(idxu,idxv) += complex(Tcalc(bufr(iu,iv)), Tcalc(bufi(iu,iv))); | ~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::complex; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = std::complex; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:965:59: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 965 | grid(idxu,idxv) += complex(Tcalc(bufr(iu,iv)), Tcalc(bufi(iu,iv))); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:966:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 966 | bufr(iu,iv) = bufi(iu,iv) = 0; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:966:33: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 966 | bufr(iu,iv) = bufi(iu,iv) = 0; | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::HelperG2x2::load() [with long unsigned int supp = 9; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:1113:13: required from ‘void ducc0::detail_gridder::Wgridder::HelperG2x2::prep(const ducc0::detail_gridder::UVW&, size_t) [with long unsigned int supp = 9; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1113 | load(); | ^~~~ ./src/ducc0/wgridder/wgridder.h:1247:61: recursively required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 15; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1247 | if (supp(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1247:61: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 16; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ ./src/ducc0/wgridder/wgridder.h:1340:38: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c(const ducc0::detail_mav::cmav, 2>&, size_t, double) [with bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1340 | grid2x_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1479:25: required from ‘void ducc0::detail_gridder::Wgridder::dirty2x() [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1479 | grid2x_c(grid, pl, w); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:30: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = double; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = double; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:213:33: required from here 213 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 214 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 215 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 216 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1062:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 1062 | bufr(iu,iv) = grid(idxu, idxv).real(); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1063:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 1063 | bufi(iu,iv) = grid(idxu, idxv).imag(); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h: In instantiation of ‘void ducc0::detail_gridder::Wgridder::HelperG2x2::load() [with long unsigned int supp = 9; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’: ./src/ducc0/wgridder/wgridder.h:1113:13: required from ‘void ducc0::detail_gridder::Wgridder::HelperG2x2::prep(const ducc0::detail_gridder::UVW&, size_t) [with long unsigned int supp = 9; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1113 | load(); | ^~~~ ./src/ducc0/wgridder/wgridder.h:1247:61: recursively required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 15; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1247 | if (supp(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1247:61: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav, 2>&, size_t, double) [with long unsigned int SUPP = 16; bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ ./src/ducc0/wgridder/wgridder.h:1340:38: required from ‘void ducc0::detail_gridder::Wgridder::grid2x_c(const ducc0::detail_mav::cmav, 2>&, size_t, double) [with bool wgrid = false; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1340 | grid2x_c_helper(supp, grid, p0, w0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1494:24: required from ‘void ducc0::detail_gridder::Wgridder::dirty2x() [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>]’ 1494 | grid2x_c(grid, 0); | ~~~~~~~~~~~~~~~^~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1693:30: required from ‘ducc0::detail_gridder::Wgridder::Wgridder(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::vmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav, 2>; size_t = long unsigned int]’ 1693 | gridding ? x2dirty() : dirty2x(); | ^~~~~~~ ./src/ducc0/wgridder/wgridder.h:1711:44: required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, const Tms_in&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::cmav&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Tms_in = ducc0::detail_mav::cmav, 2>; Timg = double; size_t = long unsigned int]’ 1711 | Wgridder par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x, | ^~~ ./python/wgridder_pymod.cc:189:25: required from ‘pybind11::array ducc0::detail_pymodule_wgridder::Py2_vis2dirty(const pybind11::array&, const pybind11::array&, const pybind11::array&, const pybind11::object&, const pybind11::object&, size_t, size_t, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, pybind11::object&, double, double, double, double, bool, bool, bool) [with T = double; size_t = long unsigned int]’ 189 | ms2dirty(uvw,freq,vis,wgt2,mask2,pixsize_x,pixsize_y,epsilon, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | do_wgridding,nthreads,dirty2,verbosity,flip_u,flip_v,flip_w,divide_by_n, sigma_min, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 | sigma_max, center_x, center_y, allow_nshift) : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/wgridder_pymod.cc:213:33: required from here 213 | return Py2_vis2dirty(uvw, freq, vis, wgt, mask, npix_x, npix_y, | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 214 | pixsize_x, pixsize_y, epsilon, do_wgridding, nthreads, verbosity, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 215 | flip_u, flip_v, flip_w, divide_by_n, dirty, sigma_min, sigma_max, center_x, center_y, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 216 | allow_nshift, gpu, double_precision_accumulation); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1062:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 1062 | bufr(iu,iv) = grid(idxu, idxv).real(); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/wgridder/wgridder.h:1063:19: error: call of ‘(ducc0::detail_mav::vmav) (int&, int&)’ is ambiguous 1063 | bufi(iu,iv) = grid(idxu, idxv).imag(); | ~~~~^~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {int, int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 9; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:426:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep_for_index(std::array) [with long unsigned int supp = 9; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 426 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:545:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 545 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:545:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:318:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1433:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 1433 | if (si1) si1->interp(cmav,1>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = float; Tcoord = double; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:102:37: required from here 102 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 103 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:407:19: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&)’ is ambiguous 407 | { bufr(iu) = grid(idxu).real(); bufi(iu) = grid(idxu).imag(); } | ~~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int}; T = float; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int}; T = float; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:407:49: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&)’ is ambiguous 407 | { bufr(iu) = grid(idxu).real(); bufi(iu) = grid(idxu).imag(); } | ~~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int}; T = float; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int}; T = float; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 9; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:799:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep(std::array) [with long unsigned int supp = 9; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 799 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:895:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 895 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:895:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:653:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1434:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 1434 | if (si2) si2->interp(cmav,2>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = float; Tcoord = double; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:102:37: required from here 102 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 103 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:762:20: error: call of ‘(ducc0::detail_mav::vmav) (int64_t, int64_t&)’ is ambiguous 762 | bufri(2*iu ,iv) = grid(idxu, idxv).real(); | ~~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:763:20: error: call of ‘(ducc0::detail_mav::vmav) (int64_t, int64_t&)’ is ambiguous 763 | bufri(2*iu+1,iv) = grid(idxu, idxv).imag(); | ~~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = float; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = float; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 9; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:1171:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep(std::array) [with long unsigned int supp = 9; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 1171 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:1274:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ 1274 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1274:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:979:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1435:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; Tidx = unsigned int]’ 1435 | if (si3) si3->interp(cmav,3>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = double; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = float; Tcoord = double; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:102:37: required from here 102 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 103 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1130:22: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&, int64_t, int64_t&)’ is ambiguous 1130 | bufri(iu,2*iv,iw) = grid(idxu, idxv, idxw).real(); | ~~~~~^~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1131:22: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&, int64_t, int64_t&)’ is ambiguous 1131 | bufri(iu,2*iv+1,iw) = grid(idxu, idxv, idxw).imag(); | ~~~~~^~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = float; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = float; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 9; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:426:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep_for_index(std::array) [with long unsigned int supp = 9; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 426 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:545:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 545 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:545:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:318:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 1>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1433:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 1433 | if (si1) si1->interp(cmav,1>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = double; Tcoord = float; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:108:37: required from here 108 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 109 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:407:19: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&)’ is ambiguous 407 | { bufr(iu) = grid(idxu).real(); bufi(iu) = grid(idxu).imag(); } | ~~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:407:49: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&)’ is ambiguous 407 | { bufr(iu) = grid(idxu).real(); bufi(iu) = grid(idxu).imag(); } | ~~~~^~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int}; T = double; long unsigned int ndim = 1]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int}; T = double; long unsigned int ndim = 1]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 9; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:799:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep(std::array) [with long unsigned int supp = 9; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 799 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:895:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 895 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:895:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:653:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 2>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1434:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 1434 | if (si2) si2->interp(cmav,2>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = double; Tcoord = float; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:108:37: required from here 108 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 109 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:762:20: error: call of ‘(ducc0::detail_mav::vmav) (int64_t, int64_t&)’ is ambiguous 762 | bufri(2*iu ,iv) = grid(idxu, idxv).real(); | ~~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:763:20: error: call of ‘(ducc0::detail_mav::vmav) (int64_t, int64_t&)’ is ambiguous 763 | bufri(2*iu+1,iv) = grid(idxu, idxv).imag(); | ~~~~~^~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = double; long unsigned int ndim = 2]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int}; T = double; long unsigned int ndim = 2]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h: In instantiation of ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::load() [with long unsigned int supp = 9; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’: ./src/ducc0/nufft/spreadinterp.h:1171:13: required from ‘void ducc0::detail_nufft::Spreadinterp::HelperU2nu::prep(std::array) [with long unsigned int supp = 9; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 1171 | load(); | ^~~~ ./src/ducc0/nufft/spreadinterp.h:1274:59: recursively required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 15; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ 1274 | if (supp(supp, grid, coords, points); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1274:59: required from ‘void ducc0::detail_nufft::Spreadinterp::interpolation_helper(size_t, const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’ ./src/ducc0/nufft/spreadinterp.h:979:3: required from ‘void ducc0::detail_nufft::Spreadinterp::interp(const ducc0::detail_mav::cmav, 3>&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 271 | interpolation_helper<16>(supp, grid, coords_sorted, points); \ | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1435:27: required from ‘void ducc0::detail_nufft::Spreadinterp2::interp(const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’ 1435 | if (si3) si3->interp(cmav,3>(grid), points); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:498:47: required from ‘void ducc0::detail_nufft::Nufft::uni2nonuni(bool, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::cmav&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float]’ 498 | (coords.size()==0) ? spreadinterp.interp(grid, points) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./src/ducc0/nufft/nufft.h:387:17: required from ‘void ducc0::detail_nufft::Nufft::u2nu(bool, size_t, const ducc0::detail_mav::cfmav >&, const ducc0::detail_mav::vmav, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; size_t = long unsigned int]’ 387 | uni2nonuni(forward, uniform, dummy, points); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:85:17: required from ‘pybind11::array ducc0::detail_pymodule_nufft::Py2_u2nu(const pybind11::array&, const pybind11::array&, bool, double, size_t, pybind11::object&, size_t, double, double, const pybind11::object&, bool) [with Tgrid = double; Tcoord = float; size_t = long unsigned int]’ 85 | nufft.u2nu(forward, verbosity, subarray(grid,slices), subarray<1>(out,{{i},{}})); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./python/nufft_pymod.cc:108:37: required from here 108 | return Py2_u2nu(grid, coord, forward, epsilon, nthreads, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 109 | out, verbosity, sigma_min, sigma_max, periodicity, fft_order); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1130:22: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&, int64_t, int64_t&)’ is ambiguous 1130 | bufri(iu,2*iv,iw) = grid(idxu, idxv, idxw).real(); | ~~~~~^~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/nufft/spreadinterp.h:1131:22: error: call of ‘(ducc0::detail_mav::vmav) (int64_t&, int64_t, int64_t&)’ is ambiguous 1131 | bufri(iu,2*iv+1,iw) = grid(idxu, idxv, idxw).imag(); | ~~~~~^~~~~~~~~~~~~~ ./src/ducc0/infra/mav.h:835:41: note: there are 2 candidates 835 | template class vmav: public cmav | ^~~~ ./src/ducc0/infra/mav.h:787:39: note: candidate 1: ‘const T& ducc0::detail_mav::cmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = double; long unsigned int ndim = 3]’ 787 | template const T &operator()(Ns... ns) const | ^~~~~~~~ ./src/ducc0/infra/mav.h:885:33: note: candidate 2: ‘T& ducc0::detail_mav::vmav::operator()(Ns ...) const [with Ns = {long int, long int, long int}; T = double; long unsigned int ndim = 3]’ 885 | template T &operator()(Ns... ns) const | ^~~~~~~~ error: command '/usr/bin/g++' failed with exit code 1 error: subprocess-exited-with-error × Building wheel for ducc0 (pyproject.toml) did not run successfully. │ exit code: 1 ╰─> See above for output. note: This error originates from a subprocess, and is likely not a problem with pip. full command: /usr/bin/python3 /usr/lib/python3.13/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py build_wheel /builddir/build/BUILD/python-ducc0-0.36.0-build/ducc0-0.36.0/.pyproject-builddir/tmp51oity06 cwd: /builddir/build/BUILD/python-ducc0-0.36.0-build/ducc0-0.36.0 Building wheel for ducc0 (pyproject.toml): finished with status 'error' ERROR: Failed building wheel for ducc0 Failed to build ducc0 ERROR: Failed to build one or more wheels error: Bad exit status from /var/tmp/rpm-tmp.ppC7eB (%build) Bad exit status from /var/tmp/rpm-tmp.ppC7eB (%build) RPM build errors: Child return code was: 1 EXCEPTION: [Error('Command failed: \n # /usr/bin/systemd-nspawn -q -M b4668dbc91a540edbf31176d7b5f0bbd -D /var/lib/mock/f43-build-57057766-6548146/root -a -u mockbuild --capability=cap_ipc_lock --bind=/tmp/mock-resolv.k5_bfq8a:/etc/resolv.conf --bind=/dev/btrfs-control --bind=/dev/mapper/control --bind=/dev/fuse --bind=/dev/loop-control --bind=/dev/loop0 --bind=/dev/loop1 --bind=/dev/loop2 --bind=/dev/loop3 --bind=/dev/loop4 --bind=/dev/loop5 --bind=/dev/loop6 --bind=/dev/loop7 --bind=/dev/loop8 --bind=/dev/loop9 --bind=/dev/loop10 --bind=/dev/loop11 --console=pipe --setenv=TERM=vt100 --setenv=SHELL=/bin/bash --setenv=HOME=/builddir --setenv=HOSTNAME=mock --setenv=PATH=/usr/bin:/bin:/usr/sbin:/sbin \'--setenv=PROMPT_COMMAND=printf "\\033]0;\\007"\' \'--setenv=PS1= \\s-\\v\\$ \' --setenv=LANG=C.UTF-8 --resolv-conf=off bash --login -c \'/usr/bin/rpmbuild -ba --noprep --noclean --target x86_64 /builddir/build/SPECS/python-ducc0.spec\'\n', 1)] Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/mockbuild/trace_decorator.py", line 93, in trace result = func(*args, **kw) File "/usr/lib/python3.13/site-packages/mockbuild/util.py", line 610, in do_with_status raise exception.Error("Command failed: \n # %s\n%s" % (cmd_pretty(command, env), output), child.returncode) mockbuild.exception.Error: Command failed: # /usr/bin/systemd-nspawn -q -M b4668dbc91a540edbf31176d7b5f0bbd -D /var/lib/mock/f43-build-57057766-6548146/root -a -u mockbuild --capability=cap_ipc_lock --bind=/tmp/mock-resolv.k5_bfq8a:/etc/resolv.conf --bind=/dev/btrfs-control --bind=/dev/mapper/control --bind=/dev/fuse --bind=/dev/loop-control --bind=/dev/loop0 --bind=/dev/loop1 --bind=/dev/loop2 --bind=/dev/loop3 --bind=/dev/loop4 --bind=/dev/loop5 --bind=/dev/loop6 --bind=/dev/loop7 --bind=/dev/loop8 --bind=/dev/loop9 --bind=/dev/loop10 --bind=/dev/loop11 --console=pipe --setenv=TERM=vt100 --setenv=SHELL=/bin/bash --setenv=HOME=/builddir --setenv=HOSTNAME=mock --setenv=PATH=/usr/bin:/bin:/usr/sbin:/sbin '--setenv=PROMPT_COMMAND=printf "\033]0;\007"' '--setenv=PS1= \s-\v\$ ' --setenv=LANG=C.UTF-8 --resolv-conf=off bash --login -c '/usr/bin/rpmbuild -ba --noprep --noclean --target x86_64 /builddir/build/SPECS/python-ducc0.spec'