* installing to library ‘/home/hornik/tmp/R.check/r-release-gcc/Work/build/Packages’
* installing *source* package ‘knnmi’ ...
** package ‘knnmi’ successfully unpacked and MD5 sums checked
** using staged installation
** libs
using C compiler: ‘gcc-14 (Debian 14.2.0-6) 14.2.0’
using C++ compiler: ‘g++-14 (Debian 14.2.0-6) 14.2.0’
make[1]: Entering directory '/home/hornik/tmp/scratch/RtmpZfhgUH/R.INSTALL1c87b51c28d84a/knnmi/src'
g++-14 -std=gnu++17 -I"/home/hornik/tmp/R.check/r-release-gcc/Work/build/include" -DNDEBUG   -I/usr/local/include -D_FORTIFY_SOURCE=3  -Iinclude/ -Iinclude/eigen3/ -DNDEBUG -DEIGEN_NO_DEBUG -DEIGEN_NO_IO  -fpic  -g -O2 -Wall -pedantic -mtune=native   -c CondMutualInformation.cpp -o CondMutualInformation.o
In file included from include/eigen3/Eigen/Core:205,
                 from include/CondMutualInformation.h:23,
                 from CondMutualInformation.cpp:22:
include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h:46:40: warning: ignoring attributes on template argument ‘__m128i’ [-Wignored-attributes]
   46 | typedef eigen_packet_wrapper<__m128i, 0> Packet4i;
      |                                        ^
include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h:47:40: warning: ignoring attributes on template argument ‘__m128i’ [-Wignored-attributes]
   47 | typedef eigen_packet_wrapper<__m128i, 1> Packet16b;
      |                                        ^
include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h:49:39: warning: ignoring attributes on template argument ‘__m128’ [-Wignored-attributes]
   49 | template<> struct is_arithmetic<__m128>  { enum { value = true }; };
      |                                       ^
include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h:50:40: warning: ignoring attributes on template argument ‘__m128i’ [-Wignored-attributes]
   50 | template<> struct is_arithmetic<__m128i> { enum { value = true }; };
      |                                        ^
include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h:51:40: warning: ignoring attributes on template argument ‘__m128d’ [-Wignored-attributes]
   51 | template<> struct is_arithmetic<__m128d> { enum { value = true }; };
      |                                        ^
include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h:222:43: warning: ignoring attributes on template argument ‘Eigen::internal::Packet4f’ {aka ‘__m128’} [-Wignored-attributes]
  222 | template<> struct unpacket_traits<Packet4f> {
      |                                           ^
include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h:228:43: warning: ignoring attributes on template argument ‘Eigen::internal::Packet2d’ {aka ‘__m128d’} [-Wignored-attributes]
  228 | template<> struct unpacket_traits<Packet2d> {
      |                                           ^
include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h:1124:34: warning: ignoring attributes on template argument ‘Eigen::internal::Packet4f’ {aka ‘__m128’} [-Wignored-attributes]
 1124 | ptranspose(PacketBlock<Packet4f,4>& kernel) {
      |                                  ^
include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h:1129:34: warning: ignoring attributes on template argument ‘Eigen::internal::Packet2d’ {aka ‘__m128d’} [-Wignored-attributes]
 1129 | ptranspose(PacketBlock<Packet2d,2>& kernel) {
      |                                  ^
In file included from include/eigen3/Eigen/Core:174:
include/eigen3/Eigen/src/Core/arch/Default/ConjHelper.h:16:60: warning: ignoring attributes on template argument ‘Eigen::internal::Packet4f’ {aka ‘__m128’} [-Wignored-attributes]
   16 |   struct conj_helper<PACKET_REAL, PACKET_CPLX, false, false> {          \
      |                                                            ^
include/eigen3/Eigen/src/Core/arch/SSE/Complex.h:173:1: note: in expansion of macro ‘EIGEN_MAKE_CONJ_HELPER_CPLX_REAL’
  173 | EIGEN_MAKE_CONJ_HELPER_CPLX_REAL(Packet2cf,Packet4f)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/eigen3/Eigen/src/Core/arch/Default/ConjHelper.h:29:60: warning: ignoring attributes on template argument ‘Eigen::internal::Packet4f’ {aka ‘__m128’} [-Wignored-attributes]
   29 |   struct conj_helper<PACKET_CPLX, PACKET_REAL, false, false> {          \
      |                                                            ^
include/eigen3/Eigen/src/Core/arch/SSE/Complex.h:173:1: note: in expansion of macro ‘EIGEN_MAKE_CONJ_HELPER_CPLX_REAL’
  173 | EIGEN_MAKE_CONJ_HELPER_CPLX_REAL(Packet2cf,Packet4f)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/eigen3/Eigen/src/Core/arch/Default/ConjHelper.h:16:60: warning: ignoring attributes on template argument ‘Eigen::internal::Packet2d’ {aka ‘__m128d’} [-Wignored-attributes]
   16 |   struct conj_helper<PACKET_REAL, PACKET_CPLX, false, false> {          \
      |                                                            ^
include/eigen3/Eigen/src/Core/arch/SSE/Complex.h:298:1: note: in expansion of macro ‘EIGEN_MAKE_CONJ_HELPER_CPLX_REAL’
  298 | EIGEN_MAKE_CONJ_HELPER_CPLX_REAL(Packet1cd,Packet2d)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/eigen3/Eigen/src/Core/arch/Default/ConjHelper.h:29:60: warning: ignoring attributes on template argument ‘Eigen::internal::Packet2d’ {aka ‘__m128d’} [-Wignored-attributes]
   29 |   struct conj_helper<PACKET_CPLX, PACKET_REAL, false, false> {          \
      |                                                            ^
include/eigen3/Eigen/src/Core/arch/SSE/Complex.h:298:1: note: in expansion of macro ‘EIGEN_MAKE_CONJ_HELPER_CPLX_REAL’
  298 | EIGEN_MAKE_CONJ_HELPER_CPLX_REAL(Packet1cd,Packet2d)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from include/CondMutualInformation.h:26:
include/MutualInformationBase.h:81:24: warning: ‘virtual double CaDrA::MutualInformationBase::sum_digamma_from_neighbors(CaDrA::MapArrayConst&, const std::vector<double>&)’ was hidden [-Woverloaded-virtual=]
   81 |         virtual double sum_digamma_from_neighbors(MapArrayConst &vec, const vector<double> &dists) ;
      |                        ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/CondMutualInformation.h:54:24: note:   by ‘virtual double CaDrA::CondMutualInformation::sum_digamma_from_neighbors(CaDrA::MapArrayConst&, CaDrA::MapArrayConst&, const std::vector<double>&)’
   54 |         virtual double sum_digamma_from_neighbors(MapArrayConst &vec1, MapArrayConst &vec2, const vector<double> &dists) ;
      |                        ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/MutualInformationBase.h:65:24: warning: ‘virtual double CaDrA::MutualInformationBase::compute()’ was hidden [-Woverloaded-virtual=]
   65 |         virtual double compute() ;
      |                        ^~~~~~~
include/CondMutualInformation.h:49:24: note:   by ‘virtual double CaDrA::CondMutualInformation::compute(const Eigen::ArrayXd&, const Eigen::ArrayXd&, const Eigen::ArrayXd&)’
   49 |         virtual double compute(const ArrayXd &x, const ArrayXd& y, const ArrayXd& z) ;
      |                        ^~~~~~~
In file included from include/eigen3/Eigen/Core:165:
include/eigen3/Eigen/src/Core/util/XprHelper.h: In instantiation of ‘struct Eigen::internal::find_best_packet<double, -1>’:
include/eigen3/Eigen/src/Core/Matrix.h:22:57:   required from ‘struct Eigen::internal::traits<Eigen::Matrix<double, -1, 1> >’
   22 |   typedef typename find_best_packet<_Scalar,size>::type PacketScalar;
      |                                                         ^~~~~~~~~~~~
include/eigen3/Eigen/src/Core/Array.h:17:8:   required from ‘struct Eigen::internal::traits<Eigen::Array<double, -1, 1> >’
   17 | struct traits<Array<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols> > : traits<Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols> >
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/eigen3/Eigen/src/Core/PlainObjectBase.h:98:7:   required from ‘class Eigen::PlainObjectBase<Eigen::Array<double, -1, 1> >’
   98 | class PlainObjectBase : public internal::dense_xpr_base<Derived>::type
      |       ^~~~~~~~~~~~~~~
include/eigen3/Eigen/src/Core/Array.h:45:7:   required from ‘class Eigen::Array<double, -1, 1>’
   45 | class Array
      |       ^~~~~
CondMutualInformation.cpp:55:13:   required from here
   55 |   auto N = x.size() ;
      |             ^
include/eigen3/Eigen/src/Core/util/XprHelper.h:190:44: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
  190 |          bool Stop = Size==Dynamic || (Size%unpacket_traits<PacketType>::size)==0 || is_same<PacketType,typename unpacket_traits<PacketType>::half>::value>
      |                                       ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/eigen3/Eigen/src/Core/util/XprHelper.h:190:83: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
  190 |          bool Stop = Size==Dynamic || (Size%unpacket_traits<PacketType>::size)==0 || is_same<PacketType,typename unpacket_traits<PacketType>::half>::value>
      |                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/eigen3/Eigen/src/Core/util/XprHelper.h:190:83: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
include/eigen3/Eigen/src/Core/util/XprHelper.h:190:83: warning: ignoring attributes on template argument ‘Eigen::internal::unpacket_traits<__vector(2) double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
include/eigen3/Eigen/src/Core/util/XprHelper.h:208:88: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
  208 |   typedef typename find_best_packet_helper<Size,typename packet_traits<T>::type>::type type;
      |                                                                                        ^~~~
In file included from include/eigen3/Eigen/Core:271:
include/eigen3/Eigen/src/Core/DenseCoeffsBase.h: In instantiation of ‘class Eigen::DenseCoeffsBase<Eigen::Array<double, -1, 1>, 0>’:
include/eigen3/Eigen/src/Core/DenseCoeffsBase.h:302:7:   required from ‘class Eigen::DenseCoeffsBase<Eigen::Array<double, -1, 1>, 1>’
  302 | class DenseCoeffsBase<Derived, WriteAccessors> : public DenseCoeffsBase<Derived, ReadOnlyAccessors>
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/eigen3/Eigen/src/Core/DenseCoeffsBase.h:555:7:   required from ‘class Eigen::DenseCoeffsBase<Eigen::Array<double, -1, 1>, 3>’
  555 | class DenseCoeffsBase<Derived, DirectWriteAccessors>
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/eigen3/Eigen/src/Core/DenseBase.h:41:34:   required from ‘class Eigen::DenseBase<Eigen::Array<double, -1, 1> >’
   41 | template<typename Derived> class DenseBase
      |                                  ^~~~~~~~~
include/eigen3/Eigen/src/Core/ArrayBase.h:39:34:   required from ‘class Eigen::ArrayBase<Eigen::Array<double, -1, 1> >’
   39 | template<typename Derived> class ArrayBase
      |                                  ^~~~~~~~~
include/eigen3/Eigen/src/Core/PlainObjectBase.h:98:7:   required from ‘class Eigen::PlainObjectBase<Eigen::Array<double, -1, 1> >’
   98 | class PlainObjectBase : public internal::dense_xpr_base<Derived>::type
      |       ^~~~~~~~~~~~~~~
include/eigen3/Eigen/src/Core/Array.h:45:7:   required from ‘class Eigen::Array<double, -1, 1>’
   45 | class Array
      |       ^~~~~
CondMutualInformation.cpp:55:13:   required from here
   55 |   auto N = x.size() ;
      |             ^
include/eigen3/Eigen/src/Core/DenseCoeffsBase.h:56:30: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
   56 |                      >::type PacketReturnType;
      |                              ^~~~~~~~~~~~~~~~
include/eigen3/Eigen/src/Core/DenseCoeffsBase.h: In instantiation of ‘class Eigen::DenseCoeffsBase<Eigen::Array<double, -1, 3>, 0>’:
include/eigen3/Eigen/src/Core/DenseCoeffsBase.h:302:7:   required from ‘class Eigen::DenseCoeffsBase<Eigen::Array<double, -1, 3>, 1>’
  302 | class DenseCoeffsBase<Derived, WriteAccessors> : public DenseCoeffsBase<Derived, ReadOnlyAccessors>
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/eigen3/Eigen/src/Core/DenseCoeffsBase.h:555:7:   required from ‘class Eigen::DenseCoeffsBase<Eigen::Array<double, -1, 3>, 3>’
  555 | class DenseCoeffsBase<Derived, DirectWriteAccessors>
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/eigen3/Eigen/src/Core/DenseBase.h:41:34:   required from ‘class Eigen::DenseBase<Eigen::Array<double, -1, 3> >’
   41 | template<typename Derived> class DenseBase
      |                                  ^~~~~~~~~
include/eigen3/Eigen/src/Core/ArrayBase.h:39:34:   required from ‘class Eigen::ArrayBase<Eigen::Array<double, -1, 3> >’
   39 | template<typename Derived> class ArrayBase
      |                                  ^~~~~~~~~
include/eigen3/Eigen/src/Core/PlainObjectBase.h:98:7:   required from ‘class Eigen::PlainObjectBase<Eigen::Array<double, -1, 3> >’
   98 | class PlainObjectBase : public internal::dense_xpr_base<Derived>::type
      |       ^~~~~~~~~~~~~~~
include/eigen3/Eigen/src/Core/Array.h:45:7:   required from ‘class Eigen::Array<double, -1, 3>’
   45 | class Array
      |       ^~~~~
CondMutualInformation.cpp:60:21:   required from here
   60 |   Array3col tmp_mat(N, 3) ;
      |                     ^
include/eigen3/Eigen/src/Core/DenseCoeffsBase.h:56:30: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
   56 |                      >::type PacketReturnType;
      |                              ^~~~~~~~~~~~~~~~
include/eigen3/Eigen/src/Core/DenseCoeffsBase.h: In instantiation of ‘class Eigen::DenseCoeffsBase<Eigen::Block<Eigen::Array<double, -1, 3>, -1, 1, true>, 0>’:
include/eigen3/Eigen/src/Core/DenseCoeffsBase.h:302:7:   required from ‘class Eigen::DenseCoeffsBase<Eigen::Block<Eigen::Array<double, -1, 3>, -1, 1, true>, 1>’
  302 | class DenseCoeffsBase<Derived, WriteAccessors> : public DenseCoeffsBase<Derived, ReadOnlyAccessors>
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/eigen3/Eigen/src/Core/DenseCoeffsBase.h:555:7:   required from ‘class Eigen::DenseCoeffsBase<Eigen::Block<Eigen::Array<double, -1, 3>, -1, 1, true>, 3>’
  555 | class DenseCoeffsBase<Derived, DirectWriteAccessors>
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/eigen3/Eigen/src/Core/DenseBase.h:41:34:   required from ‘class Eigen::DenseBase<Eigen::Block<Eigen::Array<double, -1, 3>, -1, 1, true> >’
   41 | template<typename Derived> class DenseBase
      |                                  ^~~~~~~~~
include/eigen3/Eigen/src/Core/ArrayBase.h:39:34:   required from ‘class Eigen::ArrayBase<Eigen::Block<Eigen::Array<double, -1, 3>, -1, 1, true> >’
   39 | template<typename Derived> class ArrayBase
      |                                  ^~~~~~~~~
include/eigen3/Eigen/src/Core/MapBase.h:37:34:   required from ‘class Eigen::MapBase<Eigen::Block<Eigen::Array<double, -1, 3>, -1, 1, true>, 0>’
   37 | template<typename Derived> class MapBase<Derived, ReadOnlyAccessors>
      |                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/eigen3/Eigen/src/Core/MapBase.h:223:34:   required from ‘class Eigen::MapBase<Eigen::Block<Eigen::Array<double, -1, 3>, -1, 1, true>, 1>’
  223 | template<typename Derived> class MapBase<Derived, WriteAccessors>
      |                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/eigen3/Eigen/src/Core/Block.h:329:7:   required from ‘class Eigen::internal::BlockImpl_dense<Eigen::Array<double, -1, 3>, -1, 1, true, true>’
  329 | class BlockImpl_dense<XprType,BlockRows,BlockCols, InnerPanel,true>
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/eigen3/Eigen/src/Core/Block.h:154:7:   required from ‘class Eigen::BlockImpl<Eigen::Array<double, -1, 3>, -1, 1, true, Eigen::Dense>’
  154 | class BlockImpl<XprType, BlockRows, BlockCols, InnerPanel, Dense>
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/eigen3/Eigen/src/Core/Block.h:103:81:   required from ‘class Eigen::Block<Eigen::Array<double, -1, 3>, -1, 1, true>’
  103 | template<typename XprType, int BlockRows, int BlockCols, bool InnerPanel> class Block
      |                                                                                 ^~~~~
CondMutualInformation.cpp:65:14:   required from here
   65 |   tmp_mat.col(0) = scale(x, !check_if_int(x)) ;
      |   ~~~~~~~~~~~^~~
include/eigen3/Eigen/src/Core/DenseCoeffsBase.h:56:30: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
   56 |                      >::type PacketReturnType;
      |                              ^~~~~~~~~~~~~~~~
include/eigen3/Eigen/src/Core/DenseCoeffsBase.h: In instantiation of ‘class Eigen::DenseCoeffsBase<Eigen::Map<const Eigen::Array<double, -1, 1> >, 0>’:
include/eigen3/Eigen/src/Core/DenseCoeffsBase.h:481:7:   required from ‘class Eigen::DenseCoeffsBase<Eigen::Map<const Eigen::Array<double, -1, 1> >, 2>’
  481 | class DenseCoeffsBase<Derived, DirectAccessors> : public DenseCoeffsBase<Derived, ReadOnlyAccessors>
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/eigen3/Eigen/src/Core/DenseBase.h:41:34:   required from ‘class Eigen::DenseBase<Eigen::Map<const Eigen::Array<double, -1, 1> > >’
   41 | template<typename Derived> class DenseBase
      |                                  ^~~~~~~~~
include/eigen3/Eigen/src/Core/ArrayBase.h:39:34:   required from ‘class Eigen::ArrayBase<Eigen::Map<const Eigen::Array<double, -1, 1> > >’
   39 | template<typename Derived> class ArrayBase
      |                                  ^~~~~~~~~
include/eigen3/Eigen/src/Core/MapBase.h:37:34:   required from ‘class Eigen::MapBase<Eigen::Map<const Eigen::Array<double, -1, 1> >, 0>’
   37 | template<typename Derived> class MapBase<Derived, ReadOnlyAccessors>
      |                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/eigen3/Eigen/src/Core/Map.h:94:79:   required from ‘class Eigen::Map<const Eigen::Array<double, -1, 1> >’
   94 | template<typename PlainObjectType, int MapOptions, typename StrideType> class Map
      |                                                                               ^~~
CondMutualInformation.cpp:75:25:   required from here
   75 |   MapArrayConst x_scale(tmp_mat.col(0).data(), N) ;
      |                         ^~~~~~~
include/eigen3/Eigen/src/Core/DenseCoeffsBase.h:56:30: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
   56 |                      >::type PacketReturnType;
      |                              ^~~~~~~~~~~~~~~~
include/eigen3/Eigen/src/Core/DenseCoeffsBase.h: In instantiation of ‘class Eigen::DenseCoeffsBase<Eigen::Array<double, -1, 2>, 0>’:
include/eigen3/Eigen/src/Core/DenseCoeffsBase.h:302:7:   required from ‘class Eigen::DenseCoeffsBase<Eigen::Array<double, -1, 2>, 1>’
  302 | class DenseCoeffsBase<Derived, WriteAccessors> : public DenseCoeffsBase<Derived, ReadOnlyAccessors>
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/eigen3/Eigen/src/Core/DenseCoeffsBase.h:555:7:   required from ‘class Eigen::DenseCoeffsBase<Eigen::Array<double, -1, 2>, 3>’
  555 | class DenseCoeffsBase<Derived, DirectWriteAccessors>
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/eigen3/Eigen/src/Core/DenseBase.h:41:34:   required from ‘class Eigen::DenseBase<Eigen::Array<double, -1, 2> >’
   41 | template<typename Derived> class DenseBase
      |                                  ^~~~~~~~~
include/eigen3/Eigen/src/Core/ArrayBase.h:39:34:   required from ‘class Eigen::ArrayBase<Eigen::Array<double, -1, 2> >’
   39 | template<typename Derived> class ArrayBase
      |                                  ^~~~~~~~~
include/eigen3/Eigen/src/Core/PlainObjectBase.h:98:7:   required from ‘class Eigen::PlainObjectBase<Eigen::Array<double, -1, 2> >’
   98 | class PlainObjectBase : public internal::dense_xpr_base<Derived>::type
      |       ^~~~~~~~~~~~~~~
include/eigen3/Eigen/src/Core/Array.h:45:7:   required from ‘class Eigen::Array<double, -1, 2>’
   45 | class Array
      |       ^~~~~
CondMutualInformation.cpp:99:21:   required from here
   99 |   Array2col tmp_mat(N, 2) ;
      |                     ^
include/eigen3/Eigen/src/Core/DenseCoeffsBase.h:56:30: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
   56 |                      >::type PacketReturnType;
      |                              ^~~~~~~~~~~~~~~~
include/eigen3/Eigen/src/Core/DenseCoeffsBase.h: In instantiation of ‘class Eigen::DenseCoeffsBase<Eigen::Block<Eigen::Array<double, -1, 2>, -1, 1, true>, 0>’:
include/eigen3/Eigen/src/Core/DenseCoeffsBase.h:302:7:   required from ‘class Eigen::DenseCoeffsBase<Eigen::Block<Eigen::Array<double, -1, 2>, -1, 1, true>, 1>’
  302 | class DenseCoeffsBase<Derived, WriteAccessors> : public DenseCoeffsBase<Derived, ReadOnlyAccessors>
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/eigen3/Eigen/src/Core/DenseCoeffsBase.h:555:7:   required from ‘class Eigen::DenseCoeffsBase<Eigen::Block<Eigen::Array<double, -1, 2>, -1, 1, true>, 3>’
  555 | class DenseCoeffsBase<Derived, DirectWriteAccessors>
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/eigen3/Eigen/src/Core/DenseBase.h:41:34:   required from ‘class Eigen::DenseBase<Eigen::Block<Eigen::Array<double, -1, 2>, -1, 1, true> >’
   41 | template<typename Derived> class DenseBase
      |                                  ^~~~~~~~~
include/eigen3/Eigen/src/Core/ArrayBase.h:39:34:   required from ‘class Eigen::ArrayBase<Eigen::Block<Eigen::Array<double, -1, 2>, -1, 1, true> >’
   39 | template<typename Derived> class ArrayBase
      |                                  ^~~~~~~~~
include/eigen3/Eigen/src/Core/MapBase.h:37:34:   required from ‘class Eigen::MapBase<Eigen::Block<Eigen::Array<double, -1, 2>, -1, 1, true>, 0>’
   37 | template<typename Derived> class MapBase<Derived, ReadOnlyAccessors>
      |                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/eigen3/Eigen/src/Core/MapBase.h:223:34:   required from ‘class Eigen::MapBase<Eigen::Block<Eigen::Array<double, -1, 2>, -1, 1, true>, 1>’
  223 | template<typename Derived> class MapBase<Derived, WriteAccessors>
      |                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/eigen3/Eigen/src/Core/Block.h:329:7:   required from ‘class Eigen::internal::BlockImpl_dense<Eigen::Array<double, -1, 2>, -1, 1, true, true>’
  329 | class BlockImpl_dense<XprType,BlockRows,BlockCols, InnerPanel,true>
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/eigen3/Eigen/src/Core/Block.h:154:7:   required from ‘class Eigen::BlockImpl<Eigen::Array<double, -1, 2>, -1, 1, true, Eigen::Dense>’
  154 | class BlockImpl<XprType, BlockRows, BlockCols, InnerPanel, Dense>
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/eigen3/Eigen/src/Core/Block.h:103:81:   required from ‘class Eigen::Block<Eigen::Array<double, -1, 2>, -1, 1, true>’
  103 | template<typename XprType, int BlockRows, int BlockCols, bool InnerPanel> class Block
      |                                                                                 ^~~~~
CondMutualInformation.cpp:100:14:   required from here
  100 |   tmp_mat.col(0) = vec1 ;
      |   ~~~~~~~~~~~^~~
include/eigen3/Eigen/src/Core/DenseCoeffsBase.h:56:30: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
   56 |                      >::type PacketReturnType;
      |                              ^~~~~~~~~~~~~~~~
In file included from include/eigen3/Eigen/Core:277:
include/eigen3/Eigen/src/Core/CoreEvaluators.h: In instantiation of ‘struct Eigen::internal::evaluator<Eigen::Block<Eigen::Array<double, -1, 3>, -1, 1, true> >’:
include/eigen3/Eigen/src/Core/AssignEvaluator.h:780:20:   required from ‘void Eigen::internal::call_dense_assignment_loop(DstXprType&, const SrcXprType&, const Functor&) [with DstXprType = Eigen::Block<Eigen::Array<double, -1, 3>, -1, 1, true>; SrcXprType = Eigen::Array<double, -1, 1>; Functor = assign_op<double, double>]’
  780 |   DstEvaluatorType dstEvaluator(dst);
      |                    ^~~~~~~~~~~~
include/eigen3/Eigen/src/Core/AssignEvaluator.h:954:31:   required from ‘static void Eigen::internal::Assignment<DstXprType, SrcXprType, Functor, Eigen::internal::Dense2Dense, Weak>::run(DstXprType&, const SrcXprType&, const Functor&) [with DstXprType = Eigen::Block<Eigen::Array<double, -1, 3>, -1, 1, true>; SrcXprType = Eigen::Array<double, -1, 1>; Functor = Eigen::internal::assign_op<double, double>; Weak = void]’
  954 |     call_dense_assignment_loop(dst, src, func);
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
include/eigen3/Eigen/src/Core/AssignEvaluator.h:890:49:   required from ‘void Eigen::internal::call_assignment_no_alias(Dst&, const Src&, const Func&) [with Dst = Eigen::Block<Eigen::Array<double, -1, 3>, -1, 1, true>; Src = Eigen::Array<double, -1, 1>; Func = assign_op<double, double>]’
  890 |   Assignment<ActualDstTypeCleaned,Src,Func>::run(actualDst, src, func);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
include/eigen3/Eigen/src/Core/AssignEvaluator.h:858:27:   required from ‘void Eigen::internal::call_assignment(Dst&, const Src&, const Func&, typename enable_if<(! evaluator_assume_aliasing<Src>::value), void*>::type) [with Dst = Eigen::Block<Eigen::Array<double, -1, 3>, -1, 1, true>; Src = Eigen::Array<double, -1, 1>; Func = assign_op<double, double>; typename enable_if<(! evaluator_assume_aliasing<Src>::value), void*>::type = void*; typename evaluator_traits<SrcXprType>::Shape = Eigen::DenseShape]’
  858 |   call_assignment_no_alias(dst, src, func);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
include/eigen3/Eigen/src/Core/AssignEvaluator.h:836:18:   required from ‘void Eigen::internal::call_assignment(Dst&, const Src&) [with Dst = Eigen::Block<Eigen::Array<double, -1, 3>, -1, 1, true>; Src = Eigen::Array<double, -1, 1>]’
  836 |   call_assignment(dst, src, internal::assign_op<typename Dst::Scalar,typename Src::Scalar>());
      |   ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/eigen3/Eigen/src/Core/Assign.h:41:28:   required from ‘Derived& Eigen::DenseBase<Derived>::operator=(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Array<double, -1, 1>; Derived = Eigen::Block<Eigen::Array<double, -1, 3>, -1, 1, true>]’
   41 |   internal::call_assignment(derived(), other.derived());
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
CondMutualInformation.cpp:65:45:   required from here
   65 |   tmp_mat.col(0) = scale(x, !check_if_int(x)) ;
      |                                             ^
include/eigen3/Eigen/src/Core/CoreEvaluators.h:1071:54: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
 1071 |     PacketAlignment = unpacket_traits<PacketScalar>::alignment,
      |                                                      ^~~~~~~~~
include/eigen3/Eigen/src/Core/CoreEvaluators.h: In instantiation of ‘struct Eigen::internal::evaluator<Eigen::Block<Eigen::Array<double, -1, 2>, -1, 1, true> >’:
include/eigen3/Eigen/src/Core/AssignEvaluator.h:780:20:   required from ‘void Eigen::internal::call_dense_assignment_loop(DstXprType&, const SrcXprType&, const Functor&) [with DstXprType = Eigen::Block<Eigen::Array<double, -1, 2>, -1, 1, true>; SrcXprType = Eigen::Map<const Eigen::Array<double, -1, 1> >; Functor = assign_op<double, double>]’
  780 |   DstEvaluatorType dstEvaluator(dst);
      |                    ^~~~~~~~~~~~
include/eigen3/Eigen/src/Core/AssignEvaluator.h:954:31:   required from ‘static void Eigen::internal::Assignment<DstXprType, SrcXprType, Functor, Eigen::internal::Dense2Dense, Weak>::run(DstXprType&, const SrcXprType&, const Functor&) [with DstXprType = Eigen::Block<Eigen::Array<double, -1, 2>, -1, 1, true>; SrcXprType = Eigen::Map<const Eigen::Array<double, -1, 1> >; Functor = Eigen::internal::assign_op<double, double>; Weak = void]’
  954 |     call_dense_assignment_loop(dst, src, func);
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
include/eigen3/Eigen/src/Core/AssignEvaluator.h:890:49:   required from ‘void Eigen::internal::call_assignment_no_alias(Dst&, const Src&, const Func&) [with Dst = Eigen::Block<Eigen::Array<double, -1, 2>, -1, 1, true>; Src = Eigen::Map<const Eigen::Array<double, -1, 1> >; Func = assign_op<double, double>]’
  890 |   Assignment<ActualDstTypeCleaned,Src,Func>::run(actualDst, src, func);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
include/eigen3/Eigen/src/Core/AssignEvaluator.h:858:27:   required from ‘void Eigen::internal::call_assignment(Dst&, const Src&, const Func&, typename enable_if<(! evaluator_assume_aliasing<Src>::value), void*>::type) [with Dst = Eigen::Block<Eigen::Array<double, -1, 2>, -1, 1, true>; Src = Eigen::Map<const Eigen::Array<double, -1, 1> >; Func = assign_op<double, double>; typename enable_if<(! evaluator_assume_aliasing<Src>::value), void*>::type = void*; typename evaluator_traits<SrcXprType>::Shape = Eigen::DenseShape]’
  858 |   call_assignment_no_alias(dst, src, func);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
include/eigen3/Eigen/src/Core/AssignEvaluator.h:836:18:   required from ‘void Eigen::internal::call_assignment(Dst&, const Src&) [with Dst = Eigen::Block<Eigen::Array<double, -1, 2>, -1, 1, true>; Src = Eigen::Map<const Eigen::Array<double, -1, 1> >]’
  836 |   call_assignment(dst, src, internal::assign_op<typename Dst::Scalar,typename Src::Scalar>());
      |   ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/eigen3/Eigen/src/Core/Assign.h:41:28:   required from ‘Derived& Eigen::DenseBase<Derived>::operator=(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Map<const Eigen::Array<double, -1, 1> >; Derived = Eigen::Block<Eigen::Array<double, -1, 2>, -1, 1, true>]’
   41 |   internal::call_assignment(derived(), other.derived());
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
CondMutualInformation.cpp:100:20:   required from here
  100 |   tmp_mat.col(0) = vec1 ;
      |                    ^~~~
include/eigen3/Eigen/src/Core/CoreEvaluators.h:1071:54: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
 1071 |     PacketAlignment = unpacket_traits<PacketScalar>::alignment,
      |                                                      ^~~~~~~~~
g++-14 -std=gnu++17 -I"/home/hornik/tmp/R.check/r-release-gcc/Work/build/include" -DNDEBUG   -I/usr/local/include -D_FORTIFY_SOURCE=3  -Iinclude/ -Iinclude/eigen3/ -DNDEBUG -DEIGEN_NO_DEBUG -DEIGEN_NO_IO  -fpic  -g -O2 -Wall -pedantic -mtune=native   -c MI_Matrix.cpp -o MI_Matrix.o
In file included from include/eigen3/Eigen/Core:205,
                 from include/MutualInformation.h:24,
                 from MI_Matrix.cpp:35:
include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h:46:40: warning: ignoring attributes on template argument ‘__m128i’ [-Wignored-attributes]
   46 | typedef eigen_packet_wrapper<__m128i, 0> Packet4i;
      |                                        ^
include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h:47:40: warning: ignoring attributes on template argument ‘__m128i’ [-Wignored-attributes]
   47 | typedef eigen_packet_wrapper<__m128i, 1> Packet16b;
      |                                        ^
include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h:49:39: warning: ignoring attributes on template argument ‘__m128’ [-Wignored-attributes]
   49 | template<> struct is_arithmetic<__m128>  { enum { value = true }; };
      |                                       ^
include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h:50:40: warning: ignoring attributes on template argument ‘__m128i’ [-Wignored-attributes]
   50 | template<> struct is_arithmetic<__m128i> { enum { value = true }; };
      |                                        ^
include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h:51:40: warning: ignoring attributes on template argument ‘__m128d’ [-Wignored-attributes]
   51 | template<> struct is_arithmetic<__m128d> { enum { value = true }; };
      |                                        ^
include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h:222:43: warning: ignoring attributes on template argument ‘Eigen::internal::Packet4f’ {aka ‘__m128’} [-Wignored-attributes]
  222 | template<> struct unpacket_traits<Packet4f> {
      |                                           ^
include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h:228:43: warning: ignoring attributes on template argument ‘Eigen::internal::Packet2d’ {aka ‘__m128d’} [-Wignored-attributes]
  228 | template<> struct unpacket_traits<Packet2d> {
      |                                           ^
include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h:1124:34: warning: ignoring attributes on template argument ‘Eigen::internal::Packet4f’ {aka ‘__m128’} [-Wignored-attributes]
 1124 | ptranspose(PacketBlock<Packet4f,4>& kernel) {
      |                                  ^
include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h:1129:34: warning: ignoring attributes on template argument ‘Eigen::internal::Packet2d’ {aka ‘__m128d’} [-Wignored-attributes]
 1129 | ptranspose(PacketBlock<Packet2d,2>& kernel) {
      |                                  ^
In file included from include/eigen3/Eigen/Core:174:
include/eigen3/Eigen/src/Core/arch/Default/ConjHelper.h:16:60: warning: ignoring attributes on template argument ‘Eigen::internal::Packet4f’ {aka ‘__m128’} [-Wignored-attributes]
   16 |   struct conj_helper<PACKET_REAL, PACKET_CPLX, false, false> {          \
      |                                                            ^
include/eigen3/Eigen/src/Core/arch/SSE/Complex.h:173:1: note: in expansion of macro ‘EIGEN_MAKE_CONJ_HELPER_CPLX_REAL’
  173 | EIGEN_MAKE_CONJ_HELPER_CPLX_REAL(Packet2cf,Packet4f)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/eigen3/Eigen/src/Core/arch/Default/ConjHelper.h:29:60: warning: ignoring attributes on template argument ‘Eigen::internal::Packet4f’ {aka ‘__m128’} [-Wignored-attributes]
   29 |   struct conj_helper<PACKET_CPLX, PACKET_REAL, false, false> {          \
      |                                                            ^
include/eigen3/Eigen/src/Core/arch/SSE/Complex.h:173:1: note: in expansion of macro ‘EIGEN_MAKE_CONJ_HELPER_CPLX_REAL’
  173 | EIGEN_MAKE_CONJ_HELPER_CPLX_REAL(Packet2cf,Packet4f)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/eigen3/Eigen/src/Core/arch/Default/ConjHelper.h:16:60: warning: ignoring attributes on template argument ‘Eigen::internal::Packet2d’ {aka ‘__m128d’} [-Wignored-attributes]
   16 |   struct conj_helper<PACKET_REAL, PACKET_CPLX, false, false> {          \
      |                                                            ^
include/eigen3/Eigen/src/Core/arch/SSE/Complex.h:298:1: note: in expansion of macro ‘EIGEN_MAKE_CONJ_HELPER_CPLX_REAL’
  298 | EIGEN_MAKE_CONJ_HELPER_CPLX_REAL(Packet1cd,Packet2d)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/eigen3/Eigen/src/Core/arch/Default/ConjHelper.h:29:60: warning: ignoring attributes on template argument ‘Eigen::internal::Packet2d’ {aka ‘__m128d’} [-Wignored-attributes]
   29 |   struct conj_helper<PACKET_CPLX, PACKET_REAL, false, false> {          \
      |                                                            ^
include/eigen3/Eigen/src/Core/arch/SSE/Complex.h:298:1: note: in expansion of macro ‘EIGEN_MAKE_CONJ_HELPER_CPLX_REAL’
  298 | EIGEN_MAKE_CONJ_HELPER_CPLX_REAL(Packet1cd,Packet2d)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from include/MutualInformation.h:27:
include/MutualInformationBase.h:65:24: warning: ‘virtual double CaDrA::MutualInformationBase::compute()’ was hidden [-Woverloaded-virtual=]
   65 |         virtual double compute() ;
      |                        ^~~~~~~
include/MutualInformation.h:50:18: note:   by ‘virtual double CaDrA::MutualInformation::compute(const Eigen::ArrayXd&, const Eigen::ArrayXd&)’
   50 |   virtual double compute(const ArrayXd &x, const ArrayXd& y) ;
      |                  ^~~~~~~
include/MutualInformationBase.h:65:24: warning: ‘virtual double CaDrA::MutualInformationBase::compute()’ was hidden [-Woverloaded-virtual=]
   65 |         virtual double compute() ;
      |                        ^~~~~~~
In file included from MI_Matrix.cpp:36:
include/MutualInformationDiscrete.h:50:18: note:   by ‘virtual double CaDrA::MutualInformationDiscrete::compute(const Eigen::ArrayXd&, const Eigen::ArrayXi&)’
   50 |   virtual double compute(const ArrayXd &x, const ArrayXi& y) ;
      |                  ^~~~~~~
include/MutualInformationBase.h:81:24: warning: ‘virtual double CaDrA::MutualInformationBase::sum_digamma_from_neighbors(CaDrA::MapArrayConst&, const std::vector<double>&)’ was hidden [-Woverloaded-virtual=]
   81 |         virtual double sum_digamma_from_neighbors(MapArrayConst &vec, const vector<double> &dists) ;
      |                        ^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from MI_Matrix.cpp:37:
include/CondMutualInformation.h:54:24: note:   by ‘virtual double CaDrA::CondMutualInformation::sum_digamma_from_neighbors(CaDrA::MapArrayConst&, CaDrA::MapArrayConst&, const std::vector<double>&)’
   54 |         virtual double sum_digamma_from_neighbors(MapArrayConst &vec1, MapArrayConst &vec2, const vector<double> &dists) ;
      |                        ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/MutualInformationBase.h:65:24: warning: ‘virtual double CaDrA::MutualInformationBase::compute()’ was hidden [-Woverloaded-virtual=]
   65 |         virtual double compute() ;
      |                        ^~~~~~~
include/CondMutualInformation.h:49:24: note:   by ‘virtual double CaDrA::CondMutualInformation::compute(const Eigen::ArrayXd&, const Eigen::ArrayXd&, const Eigen::ArrayXd&)’
   49 |         virtual double compute(const ArrayXd &x, const ArrayXd& y, const ArrayXd& z) ;
      |                        ^~~~~~~
In file included from include/eigen3/Eigen/Core:165:
include/eigen3/Eigen/src/Core/util/XprHelper.h: In instantiation of ‘struct Eigen::internal::find_best_packet<double, -1>’:
include/eigen3/Eigen/src/Core/Matrix.h:22:57:   required from ‘struct Eigen::internal::traits<Eigen::Matrix<double, -1, 1> >’
   22 |   typedef typename find_best_packet<_Scalar,size>::type PacketScalar;
      |                                                         ^~~~~~~~~~~~
include/eigen3/Eigen/src/Core/Array.h:17:8:   required from ‘struct Eigen::internal::traits<Eigen::Array<double, -1, 1> >’
   17 | struct traits<Array<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols> > : traits<Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols> >
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/eigen3/Eigen/src/Core/util/ForwardDeclarations.h:23:29:   required from ‘struct Eigen::internal::traits<const Eigen::Array<double, -1, 1> >’
   23 | template<typename T> struct traits<const T> : traits<T> {};
      |                             ^~~~~~~~~~~~~~~
include/eigen3/Eigen/src/Core/Map.h:18:8:   required from ‘struct Eigen::internal::traits<Eigen::Map<const Eigen::Array<double, -1, 1> > >’
   18 | struct traits<Map<PlainObjectType, MapOptions, StrideType> >
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/eigen3/Eigen/src/Core/util/ForwardDeclarations.h:32:48:   required from ‘struct Eigen::internal::accessors_level<Eigen::Map<const Eigen::Array<double, -1, 1> > >’
   32 |   enum { has_direct_access = (traits<Derived>::Flags & DirectAccessBit) ? 1 : 0,
      |                                                ^~~~~
include/eigen3/Eigen/src/Core/util/ForwardDeclarations.h:111:75:   required from ‘class Eigen::Map<const Eigen::Array<double, -1, 1> >’
  111 |          int Level = internal::accessors_level<Derived>::has_write_access ? WriteAccessors : ReadOnlyAccessors
      |                                                          ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
MI_Matrix.cpp:54:32:   required from here
   54 |     CaDrA::MapArrayConst x_eig(input_x,n_elems) ;
      |                                ^~~~~~~
include/eigen3/Eigen/src/Core/util/XprHelper.h:190:44: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
  190 |          bool Stop = Size==Dynamic || (Size%unpacket_traits<PacketType>::size)==0 || is_same<PacketType,typename unpacket_traits<PacketType>::half>::value>
      |                                       ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/eigen3/Eigen/src/Core/util/XprHelper.h:190:83: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
  190 |          bool Stop = Size==Dynamic || (Size%unpacket_traits<PacketType>::size)==0 || is_same<PacketType,typename unpacket_traits<PacketType>::half>::value>
      |                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/eigen3/Eigen/src/Core/util/XprHelper.h:190:83: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
include/eigen3/Eigen/src/Core/util/XprHelper.h:190:83: warning: ignoring attributes on template argument ‘Eigen::internal::unpacket_traits<__vector(2) double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
include/eigen3/Eigen/src/Core/util/XprHelper.h:208:88: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
  208 |   typedef typename find_best_packet_helper<Size,typename packet_traits<T>::type>::type type;
      |                                                                                        ^~~~
In file included from include/eigen3/Eigen/Core:271:
include/eigen3/Eigen/src/Core/DenseCoeffsBase.h: In instantiation of ‘class Eigen::DenseCoeffsBase<Eigen::Array<double, -1, 1>, 0>’:
include/eigen3/Eigen/src/Core/DenseCoeffsBase.h:302:7:   required from ‘class Eigen::DenseCoeffsBase<Eigen::Array<double, -1, 1>, 1>’
  302 | class DenseCoeffsBase<Derived, WriteAccessors> : public DenseCoeffsBase<Derived, ReadOnlyAccessors>
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/eigen3/Eigen/src/Core/DenseCoeffsBase.h:555:7:   required from ‘class Eigen::DenseCoeffsBase<Eigen::Array<double, -1, 1>, 3>’
  555 | class DenseCoeffsBase<Derived, DirectWriteAccessors>
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/eigen3/Eigen/src/Core/DenseBase.h:41:34:   required from ‘class Eigen::DenseBase<Eigen::Array<double, -1, 1> >’
   41 | template<typename Derived> class DenseBase
      |                                  ^~~~~~~~~
include/eigen3/Eigen/src/Core/ArrayBase.h:39:34:   required from ‘class Eigen::ArrayBase<Eigen::Array<double, -1, 1> >’
   39 | template<typename Derived> class ArrayBase
      |                                  ^~~~~~~~~
include/eigen3/Eigen/src/Core/PlainObjectBase.h:98:7:   required from ‘class Eigen::PlainObjectBase<Eigen::Array<double, -1, 1> >’
   98 | class PlainObjectBase : public internal::dense_xpr_base<Derived>::type
      |       ^~~~~~~~~~~~~~~
include/eigen3/Eigen/src/Core/Array.h:45:7:   required from ‘class Eigen::Array<double, -1, 1>’
   45 | class Array
      |       ^~~~~
include/eigen3/Eigen/src/Core/Map.h:24:49:   required from ‘struct Eigen::internal::traits<Eigen::Map<const Eigen::Array<double, -1, 1> > >’
   24 |                              ? PlainObjectType::ColsAtCompileTime
      |                                                 ^~~~~~~~~~~~~~~~~
include/eigen3/Eigen/src/Core/util/ForwardDeclarations.h:32:48:   required from ‘struct Eigen::internal::accessors_level<Eigen::Map<const Eigen::Array<double, -1, 1> > >’
   32 |   enum { has_direct_access = (traits<Derived>::Flags & DirectAccessBit) ? 1 : 0,
      |                                                ^~~~~
include/eigen3/Eigen/src/Core/util/ForwardDeclarations.h:111:75:   required from ‘class Eigen::Map<const Eigen::Array<double, -1, 1> >’
  111 |          int Level = internal::accessors_level<Derived>::has_write_access ? WriteAccessors : ReadOnlyAccessors
      |                                                          ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
MI_Matrix.cpp:54:32:   required from here
   54 |     CaDrA::MapArrayConst x_eig(input_x,n_elems) ;
      |                                ^~~~~~~
include/eigen3/Eigen/src/Core/DenseCoeffsBase.h:56:30: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
   56 |                      >::type PacketReturnType;
      |                              ^~~~~~~~~~~~~~~~
include/eigen3/Eigen/src/Core/DenseCoeffsBase.h: In instantiation of ‘class Eigen::DenseCoeffsBase<Eigen::Map<const Eigen::Array<double, -1, 1> >, 0>’:
include/eigen3/Eigen/src/Core/DenseCoeffsBase.h:481:7:   required from ‘class Eigen::DenseCoeffsBase<Eigen::Map<const Eigen::Array<double, -1, 1> >, 2>’
  481 | class DenseCoeffsBase<Derived, DirectAccessors> : public DenseCoeffsBase<Derived, ReadOnlyAccessors>
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/eigen3/Eigen/src/Core/DenseBase.h:41:34:   required from ‘class Eigen::DenseBase<Eigen::Map<const Eigen::Array<double, -1, 1> > >’
   41 | template<typename Derived> class DenseBase
      |                                  ^~~~~~~~~
include/eigen3/Eigen/src/Core/ArrayBase.h:39:34:   required from ‘class Eigen::ArrayBase<Eigen::Map<const Eigen::Array<double, -1, 1> > >’
   39 | template<typename Derived> class ArrayBase
      |                                  ^~~~~~~~~
include/eigen3/Eigen/src/Core/MapBase.h:37:34:   required from ‘class Eigen::MapBase<Eigen::Map<const Eigen::Array<double, -1, 1> >, 0>’
   37 | template<typename Derived> class MapBase<Derived, ReadOnlyAccessors>
      |                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/eigen3/Eigen/src/Core/Map.h:94:79:   required from ‘class Eigen::Map<const Eigen::Array<double, -1, 1> >’
   94 | template<typename PlainObjectType, int MapOptions, typename StrideType> class Map
      |                                                                               ^~~
MI_Matrix.cpp:54:32:   required from here
   54 |     CaDrA::MapArrayConst x_eig(input_x,n_elems) ;
      |                                ^~~~~~~
include/eigen3/Eigen/src/Core/DenseCoeffsBase.h:56:30: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
   56 |                      >::type PacketReturnType;
      |                              ^~~~~~~~~~~~~~~~
g++-14 -std=gnu++17 -I"/home/hornik/tmp/R.check/r-release-gcc/Work/build/include" -DNDEBUG   -I/usr/local/include -D_FORTIFY_SOURCE=3  -Iinclude/ -Iinclude/eigen3/ -DNDEBUG -DEIGEN_NO_DEBUG -DEIGEN_NO_IO  -fpic  -g -O2 -Wall -pedantic -mtune=native   -c MutualInformation.cpp -o MutualInformation.o
In file included from include/eigen3/Eigen/Core:205,
                 from include/MutualInformation.h:24,
                 from MutualInformation.cpp:21:
include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h:46:40: warning: ignoring attributes on template argument ‘__m128i’ [-Wignored-attributes]
   46 | typedef eigen_packet_wrapper<__m128i, 0> Packet4i;
      |                                        ^
include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h:47:40: warning: ignoring attributes on template argument ‘__m128i’ [-Wignored-attributes]
   47 | typedef eigen_packet_wrapper<__m128i, 1> Packet16b;
      |                                        ^
include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h:49:39: warning: ignoring attributes on template argument ‘__m128’ [-Wignored-attributes]
   49 | template<> struct is_arithmetic<__m128>  { enum { value = true }; };
      |                                       ^
include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h:50:40: warning: ignoring attributes on template argument ‘__m128i’ [-Wignored-attributes]
   50 | template<> struct is_arithmetic<__m128i> { enum { value = true }; };
      |                                        ^
include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h:51:40: warning: ignoring attributes on template argument ‘__m128d’ [-Wignored-attributes]
   51 | template<> struct is_arithmetic<__m128d> { enum { value = true }; };
      |                                        ^
include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h:222:43: warning: ignoring attributes on template argument ‘Eigen::internal::Packet4f’ {aka ‘__m128’} [-Wignored-attributes]
  222 | template<> struct unpacket_traits<Packet4f> {
      |                                           ^
include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h:228:43: warning: ignoring attributes on template argument ‘Eigen::internal::Packet2d’ {aka ‘__m128d’} [-Wignored-attributes]
  228 | template<> struct unpacket_traits<Packet2d> {
      |                                           ^
include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h:1124:34: warning: ignoring attributes on template argument ‘Eigen::internal::Packet4f’ {aka ‘__m128’} [-Wignored-attributes]
 1124 | ptranspose(PacketBlock<Packet4f,4>& kernel) {
      |                                  ^
include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h:1129:34: warning: ignoring attributes on template argument ‘Eigen::internal::Packet2d’ {aka ‘__m128d’} [-Wignored-attributes]
 1129 | ptranspose(PacketBlock<Packet2d,2>& kernel) {
      |                                  ^
In file included from include/eigen3/Eigen/Core:174:
include/eigen3/Eigen/src/Core/arch/Default/ConjHelper.h:16:60: warning: ignoring attributes on template argument ‘Eigen::internal::Packet4f’ {aka ‘__m128’} [-Wignored-attributes]
   16 |   struct conj_helper<PACKET_REAL, PACKET_CPLX, false, false> {          \
      |                                                            ^
include/eigen3/Eigen/src/Core/arch/SSE/Complex.h:173:1: note: in expansion of macro ‘EIGEN_MAKE_CONJ_HELPER_CPLX_REAL’
  173 | EIGEN_MAKE_CONJ_HELPER_CPLX_REAL(Packet2cf,Packet4f)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/eigen3/Eigen/src/Core/arch/Default/ConjHelper.h:29:60: warning: ignoring attributes on template argument ‘Eigen::internal::Packet4f’ {aka ‘__m128’} [-Wignored-attributes]
   29 |   struct conj_helper<PACKET_CPLX, PACKET_REAL, false, false> {          \
      |                                                            ^
include/eigen3/Eigen/src/Core/arch/SSE/Complex.h:173:1: note: in expansion of macro ‘EIGEN_MAKE_CONJ_HELPER_CPLX_REAL’
  173 | EIGEN_MAKE_CONJ_HELPER_CPLX_REAL(Packet2cf,Packet4f)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/eigen3/Eigen/src/Core/arch/Default/ConjHelper.h:16:60: warning: ignoring attributes on template argument ‘Eigen::internal::Packet2d’ {aka ‘__m128d’} [-Wignored-attributes]
   16 |   struct conj_helper<PACKET_REAL, PACKET_CPLX, false, false> {          \
      |                                                            ^
include/eigen3/Eigen/src/Core/arch/SSE/Complex.h:298:1: note: in expansion of macro ‘EIGEN_MAKE_CONJ_HELPER_CPLX_REAL’
  298 | EIGEN_MAKE_CONJ_HELPER_CPLX_REAL(Packet1cd,Packet2d)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/eigen3/Eigen/src/Core/arch/Default/ConjHelper.h:29:60: warning: ignoring attributes on template argument ‘Eigen::internal::Packet2d’ {aka ‘__m128d’} [-Wignored-attributes]
   29 |   struct conj_helper<PACKET_CPLX, PACKET_REAL, false, false> {          \
      |                                                            ^
include/eigen3/Eigen/src/Core/arch/SSE/Complex.h:298:1: note: in expansion of macro ‘EIGEN_MAKE_CONJ_HELPER_CPLX_REAL’
  298 | EIGEN_MAKE_CONJ_HELPER_CPLX_REAL(Packet1cd,Packet2d)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from include/MutualInformation.h:27:
include/MutualInformationBase.h:65:24: warning: ‘virtual double CaDrA::MutualInformationBase::compute()’ was hidden [-Woverloaded-virtual=]
   65 |         virtual double compute() ;
      |                        ^~~~~~~
include/MutualInformation.h:50:18: note:   by ‘virtual double CaDrA::MutualInformation::compute(const Eigen::ArrayXd&, const Eigen::ArrayXd&)’
   50 |   virtual double compute(const ArrayXd &x, const ArrayXd& y) ;
      |                  ^~~~~~~
In file included from include/eigen3/Eigen/Core:165:
include/eigen3/Eigen/src/Core/util/XprHelper.h: In instantiation of ‘struct Eigen::internal::find_best_packet<double, -1>’:
include/eigen3/Eigen/src/Core/Matrix.h:22:57:   required from ‘struct Eigen::internal::traits<Eigen::Matrix<double, -1, 1> >’
   22 |   typedef typename find_best_packet<_Scalar,size>::type PacketScalar;
      |                                                         ^~~~~~~~~~~~
include/eigen3/Eigen/src/Core/Array.h:17:8:   required from ‘struct Eigen::internal::traits<Eigen::Array<double, -1, 1> >’
   17 | struct traits<Array<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols> > : traits<Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols> >
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/eigen3/Eigen/src/Core/PlainObjectBase.h:98:7:   required from ‘class Eigen::PlainObjectBase<Eigen::Array<double, -1, 1> >’
   98 | class PlainObjectBase : public internal::dense_xpr_base<Derived>::type
      |       ^~~~~~~~~~~~~~~
include/eigen3/Eigen/src/Core/Array.h:45:7:   required from ‘class Eigen::Array<double, -1, 1>’
   45 | class Array
      |       ^~~~~
MutualInformation.cpp:57:13:   required from here
   57 |   auto N = x.size() ;
      |             ^
include/eigen3/Eigen/src/Core/util/XprHelper.h:190:44: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
  190 |          bool Stop = Size==Dynamic || (Size%unpacket_traits<PacketType>::size)==0 || is_same<PacketType,typename unpacket_traits<PacketType>::half>::value>
      |                                       ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/eigen3/Eigen/src/Core/util/XprHelper.h:190:83: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
  190 |          bool Stop = Size==Dynamic || (Size%unpacket_traits<PacketType>::size)==0 || is_same<PacketType,typename unpacket_traits<PacketType>::half>::value>
      |                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/eigen3/Eigen/src/Core/util/XprHelper.h:190:83: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
include/eigen3/Eigen/src/Core/util/XprHelper.h:190:83: warning: ignoring attributes on template argument ‘Eigen::internal::unpacket_traits<__vector(2) double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
include/eigen3/Eigen/src/Core/util/XprHelper.h:208:88: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
  208 |   typedef typename find_best_packet_helper<Size,typename packet_traits<T>::type>::type type;
      |                                                                                        ^~~~
In file included from include/eigen3/Eigen/Core:271:
include/eigen3/Eigen/src/Core/DenseCoeffsBase.h: In instantiation of ‘class Eigen::DenseCoeffsBase<Eigen::Array<double, -1, 1>, 0>’:
include/eigen3/Eigen/src/Core/DenseCoeffsBase.h:302:7:   required from ‘class Eigen::DenseCoeffsBase<Eigen::Array<double, -1, 1>, 1>’
  302 | class DenseCoeffsBase<Derived, WriteAccessors> : public DenseCoeffsBase<Derived, ReadOnlyAccessors>
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/eigen3/Eigen/src/Core/DenseCoeffsBase.h:555:7:   required from ‘class Eigen::DenseCoeffsBase<Eigen::Array<double, -1, 1>, 3>’
  555 | class DenseCoeffsBase<Derived, DirectWriteAccessors>
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/eigen3/Eigen/src/Core/DenseBase.h:41:34:   required from ‘class Eigen::DenseBase<Eigen::Array<double, -1, 1> >’
   41 | template<typename Derived> class DenseBase
      |                                  ^~~~~~~~~
include/eigen3/Eigen/src/Core/ArrayBase.h:39:34:   required from ‘class Eigen::ArrayBase<Eigen::Array<double, -1, 1> >’
   39 | template<typename Derived> class ArrayBase
      |                                  ^~~~~~~~~
include/eigen3/Eigen/src/Core/PlainObjectBase.h:98:7:   required from ‘class Eigen::PlainObjectBase<Eigen::Array<double, -1, 1> >’
   98 | class PlainObjectBase : public internal::dense_xpr_base<Derived>::type
      |       ^~~~~~~~~~~~~~~
include/eigen3/Eigen/src/Core/Array.h:45:7:   required from ‘class Eigen::Array<double, -1, 1>’
   45 | class Array
      |       ^~~~~
MutualInformation.cpp:57:13:   required from here
   57 |   auto N = x.size() ;
      |             ^
include/eigen3/Eigen/src/Core/DenseCoeffsBase.h:56:30: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
   56 |                      >::type PacketReturnType;
      |                              ^~~~~~~~~~~~~~~~
include/eigen3/Eigen/src/Core/DenseCoeffsBase.h: In instantiation of ‘class Eigen::DenseCoeffsBase<Eigen::Array<double, -1, 2>, 0>’:
include/eigen3/Eigen/src/Core/DenseCoeffsBase.h:302:7:   required from ‘class Eigen::DenseCoeffsBase<Eigen::Array<double, -1, 2>, 1>’
  302 | class DenseCoeffsBase<Derived, WriteAccessors> : public DenseCoeffsBase<Derived, ReadOnlyAccessors>
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/eigen3/Eigen/src/Core/DenseCoeffsBase.h:555:7:   required from ‘class Eigen::DenseCoeffsBase<Eigen::Array<double, -1, 2>, 3>’
  555 | class DenseCoeffsBase<Derived, DirectWriteAccessors>
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/eigen3/Eigen/src/Core/DenseBase.h:41:34:   required from ‘class Eigen::DenseBase<Eigen::Array<double, -1, 2> >’
   41 | template<typename Derived> class DenseBase
      |                                  ^~~~~~~~~
include/eigen3/Eigen/src/Core/ArrayBase.h:39:34:   required from ‘class Eigen::ArrayBase<Eigen::Array<double, -1, 2> >’
   39 | template<typename Derived> class ArrayBase
      |                                  ^~~~~~~~~
include/eigen3/Eigen/src/Core/PlainObjectBase.h:98:7:   required from ‘class Eigen::PlainObjectBase<Eigen::Array<double, -1, 2> >’
   98 | class PlainObjectBase : public internal::dense_xpr_base<Derived>::type
      |       ^~~~~~~~~~~~~~~
include/eigen3/Eigen/src/Core/Array.h:45:7:   required from ‘class Eigen::Array<double, -1, 2>’
   45 | class Array
      |       ^~~~~
MutualInformation.cpp:59:22:   required from here
   59 |   Array2col  tmp_mat(N, 2) ;
      |                      ^
include/eigen3/Eigen/src/Core/DenseCoeffsBase.h:56:30: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
   56 |                      >::type PacketReturnType;
      |                              ^~~~~~~~~~~~~~~~
include/eigen3/Eigen/src/Core/DenseCoeffsBase.h: In instantiation of ‘class Eigen::DenseCoeffsBase<Eigen::Block<Eigen::Array<double, -1, 2>, -1, 1, true>, 0>’:
include/eigen3/Eigen/src/Core/DenseCoeffsBase.h:302:7:   required from ‘class Eigen::DenseCoeffsBase<Eigen::Block<Eigen::Array<double, -1, 2>, -1, 1, true>, 1>’
  302 | class DenseCoeffsBase<Derived, WriteAccessors> : public DenseCoeffsBase<Derived, ReadOnlyAccessors>
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/eigen3/Eigen/src/Core/DenseCoeffsBase.h:555:7:   required from ‘class Eigen::DenseCoeffsBase<Eigen::Block<Eigen::Array<double, -1, 2>, -1, 1, true>, 3>’
  555 | class DenseCoeffsBase<Derived, DirectWriteAccessors>
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/eigen3/Eigen/src/Core/DenseBase.h:41:34:   required from ‘class Eigen::DenseBase<Eigen::Block<Eigen::Array<double, -1, 2>, -1, 1, true> >’
   41 | template<typename Derived> class DenseBase
      |                                  ^~~~~~~~~
include/eigen3/Eigen/src/Core/ArrayBase.h:39:34:   required from ‘class Eigen::ArrayBase<Eigen::Block<Eigen::Array<double, -1, 2>, -1, 1, true> >’
   39 | template<typename Derived> class ArrayBase
      |                                  ^~~~~~~~~
include/eigen3/Eigen/src/Core/MapBase.h:37:34:   required from ‘class Eigen::MapBase<Eigen::Block<Eigen::Array<double, -1, 2>, -1, 1, true>, 0>’
   37 | template<typename Derived> class MapBase<Derived, ReadOnlyAccessors>
      |                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/eigen3/Eigen/src/Core/MapBase.h:223:34:   required from ‘class Eigen::MapBase<Eigen::Block<Eigen::Array<double, -1, 2>, -1, 1, true>, 1>’
  223 | template<typename Derived> class MapBase<Derived, WriteAccessors>
      |                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/eigen3/Eigen/src/Core/Block.h:329:7:   required from ‘class Eigen::internal::BlockImpl_dense<Eigen::Array<double, -1, 2>, -1, 1, true, true>’
  329 | class BlockImpl_dense<XprType,BlockRows,BlockCols, InnerPanel,true>
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/eigen3/Eigen/src/Core/Block.h:154:7:   required from ‘class Eigen::BlockImpl<Eigen::Array<double, -1, 2>, -1, 1, true, Eigen::Dense>’
  154 | class BlockImpl<XprType, BlockRows, BlockCols, InnerPanel, Dense>
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/eigen3/Eigen/src/Core/Block.h:103:81:   required from ‘class Eigen::Block<Eigen::Array<double, -1, 2>, -1, 1, true>’
  103 | template<typename XprType, int BlockRows, int BlockCols, bool InnerPanel> class Block
      |                                                                                 ^~~~~
MutualInformation.cpp:63:14:   required from here
   63 |   tmp_mat.col(0) = scale(x, !check_if_int(x)) ;
      |   ~~~~~~~~~~~^~~
include/eigen3/Eigen/src/Core/DenseCoeffsBase.h:56:30: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
   56 |                      >::type PacketReturnType;
      |                              ^~~~~~~~~~~~~~~~
include/eigen3/Eigen/src/Core/DenseCoeffsBase.h: In instantiation of ‘class Eigen::DenseCoeffsBase<Eigen::Map<const Eigen::Array<double, -1, 1> >, 0>’:
include/eigen3/Eigen/src/Core/DenseCoeffsBase.h:481:7:   required from ‘class Eigen::DenseCoeffsBase<Eigen::Map<const Eigen::Array<double, -1, 1> >, 2>’
  481 | class DenseCoeffsBase<Derived, DirectAccessors> : public DenseCoeffsBase<Derived, ReadOnlyAccessors>
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/eigen3/Eigen/src/Core/DenseBase.h:41:34:   required from ‘class Eigen::DenseBase<Eigen::Map<const Eigen::Array<double, -1, 1> > >’
   41 | template<typename Derived> class DenseBase
      |                                  ^~~~~~~~~
include/eigen3/Eigen/src/Core/ArrayBase.h:39:34:   required from ‘class Eigen::ArrayBase<Eigen::Map<const Eigen::Array<double, -1, 1> > >’
   39 | template<typename Derived> class ArrayBase
      |                                  ^~~~~~~~~
include/eigen3/Eigen/src/Core/MapBase.h:37:34:   required from ‘class Eigen::MapBase<Eigen::Map<const Eigen::Array<double, -1, 1> >, 0>’
   37 | template<typename Derived> class MapBase<Derived, ReadOnlyAccessors>
      |                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/eigen3/Eigen/src/Core/Map.h:94:79:   required from ‘class Eigen::Map<const Eigen::Array<double, -1, 1> >’
   94 | template<typename PlainObjectType, int MapOptions, typename StrideType> class Map
      |                                                                               ^~~
MutualInformation.cpp:67:25:   required from here
   67 |   MapArrayConst x_scale(tmp_mat.col(0).data(), N) ;
      |                         ^~~~~~~
include/eigen3/Eigen/src/Core/DenseCoeffsBase.h:56:30: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
   56 |                      >::type PacketReturnType;
      |                              ^~~~~~~~~~~~~~~~
In file included from include/eigen3/Eigen/Core:277:
include/eigen3/Eigen/src/Core/CoreEvaluators.h: In instantiation of ‘struct Eigen::internal::evaluator<Eigen::Block<Eigen::Array<double, -1, 2>, -1, 1, true> >’:
include/eigen3/Eigen/src/Core/AssignEvaluator.h:780:20:   required from ‘void Eigen::internal::call_dense_assignment_loop(DstXprType&, const SrcXprType&, const Functor&) [with DstXprType = Eigen::Block<Eigen::Array<double, -1, 2>, -1, 1, true>; SrcXprType = Eigen::Array<double, -1, 1>; Functor = assign_op<double, double>]’
  780 |   DstEvaluatorType dstEvaluator(dst);
      |                    ^~~~~~~~~~~~
include/eigen3/Eigen/src/Core/AssignEvaluator.h:954:31:   required from ‘static void Eigen::internal::Assignment<DstXprType, SrcXprType, Functor, Eigen::internal::Dense2Dense, Weak>::run(DstXprType&, const SrcXprType&, const Functor&) [with DstXprType = Eigen::Block<Eigen::Array<double, -1, 2>, -1, 1, true>; SrcXprType = Eigen::Array<double, -1, 1>; Functor = Eigen::internal::assign_op<double, double>; Weak = void]’
  954 |     call_dense_assignment_loop(dst, src, func);
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
include/eigen3/Eigen/src/Core/AssignEvaluator.h:890:49:   required from ‘void Eigen::internal::call_assignment_no_alias(Dst&, const Src&, const Func&) [with Dst = Eigen::Block<Eigen::Array<double, -1, 2>, -1, 1, true>; Src = Eigen::Array<double, -1, 1>; Func = assign_op<double, double>]’
  890 |   Assignment<ActualDstTypeCleaned,Src,Func>::run(actualDst, src, func);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
include/eigen3/Eigen/src/Core/AssignEvaluator.h:858:27:   required from ‘void Eigen::internal::call_assignment(Dst&, const Src&, const Func&, typename enable_if<(! evaluator_assume_aliasing<Src>::value), void*>::type) [with Dst = Eigen::Block<Eigen::Array<double, -1, 2>, -1, 1, true>; Src = Eigen::Array<double, -1, 1>; Func = assign_op<double, double>; typename enable_if<(! evaluator_assume_aliasing<Src>::value), void*>::type = void*; typename evaluator_traits<SrcXprType>::Shape = Eigen::DenseShape]’
  858 |   call_assignment_no_alias(dst, src, func);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
include/eigen3/Eigen/src/Core/AssignEvaluator.h:836:18:   required from ‘void Eigen::internal::call_assignment(Dst&, const Src&) [with Dst = Eigen::Block<Eigen::Array<double, -1, 2>, -1, 1, true>; Src = Eigen::Array<double, -1, 1>]’
  836 |   call_assignment(dst, src, internal::assign_op<typename Dst::Scalar,typename Src::Scalar>());
      |   ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/eigen3/Eigen/src/Core/Assign.h:41:28:   required from ‘Derived& Eigen::DenseBase<Derived>::operator=(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Array<double, -1, 1>; Derived = Eigen::Block<Eigen::Array<double, -1, 2>, -1, 1, true>]’
   41 |   internal::call_assignment(derived(), other.derived());
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
MutualInformation.cpp:63:45:   required from here
   63 |   tmp_mat.col(0) = scale(x, !check_if_int(x)) ;
      |                                             ^
include/eigen3/Eigen/src/Core/CoreEvaluators.h:1071:54: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
 1071 |     PacketAlignment = unpacket_traits<PacketScalar>::alignment,
      |                                                      ^~~~~~~~~
g++-14 -std=gnu++17 -I"/home/hornik/tmp/R.check/r-release-gcc/Work/build/include" -DNDEBUG   -I/usr/local/include -D_FORTIFY_SOURCE=3  -Iinclude/ -Iinclude/eigen3/ -DNDEBUG -DEIGEN_NO_DEBUG -DEIGEN_NO_IO  -fpic  -g -O2 -Wall -pedantic -mtune=native   -c MutualInformationBase.cpp -o MutualInformationBase.o
In file included from include/eigen3/Eigen/Core:205,
                 from include/MutualInformationBase.h:24,
                 from MutualInformationBase.cpp:22:
include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h:46:40: warning: ignoring attributes on template argument ‘__m128i’ [-Wignored-attributes]
   46 | typedef eigen_packet_wrapper<__m128i, 0> Packet4i;
      |                                        ^
include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h:47:40: warning: ignoring attributes on template argument ‘__m128i’ [-Wignored-attributes]
   47 | typedef eigen_packet_wrapper<__m128i, 1> Packet16b;
      |                                        ^
include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h:49:39: warning: ignoring attributes on template argument ‘__m128’ [-Wignored-attributes]
   49 | template<> struct is_arithmetic<__m128>  { enum { value = true }; };
      |                                       ^
include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h:50:40: warning: ignoring attributes on template argument ‘__m128i’ [-Wignored-attributes]
   50 | template<> struct is_arithmetic<__m128i> { enum { value = true }; };
      |                                        ^
include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h:51:40: warning: ignoring attributes on template argument ‘__m128d’ [-Wignored-attributes]
   51 | template<> struct is_arithmetic<__m128d> { enum { value = true }; };
      |                                        ^
include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h:222:43: warning: ignoring attributes on template argument ‘Eigen::internal::Packet4f’ {aka ‘__m128’} [-Wignored-attributes]
  222 | template<> struct unpacket_traits<Packet4f> {
      |                                           ^
include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h:228:43: warning: ignoring attributes on template argument ‘Eigen::internal::Packet2d’ {aka ‘__m128d’} [-Wignored-attributes]
  228 | template<> struct unpacket_traits<Packet2d> {
      |                                           ^
include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h:1124:34: warning: ignoring attributes on template argument ‘Eigen::internal::Packet4f’ {aka ‘__m128’} [-Wignored-attributes]
 1124 | ptranspose(PacketBlock<Packet4f,4>& kernel) {
      |                                  ^
include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h:1129:34: warning: ignoring attributes on template argument ‘Eigen::internal::Packet2d’ {aka ‘__m128d’} [-Wignored-attributes]
 1129 | ptranspose(PacketBlock<Packet2d,2>& kernel) {
      |                                  ^
In file included from include/eigen3/Eigen/Core:174:
include/eigen3/Eigen/src/Core/arch/Default/ConjHelper.h:16:60: warning: ignoring attributes on template argument ‘Eigen::internal::Packet4f’ {aka ‘__m128’} [-Wignored-attributes]
   16 |   struct conj_helper<PACKET_REAL, PACKET_CPLX, false, false> {          \
      |                                                            ^
include/eigen3/Eigen/src/Core/arch/SSE/Complex.h:173:1: note: in expansion of macro ‘EIGEN_MAKE_CONJ_HELPER_CPLX_REAL’
  173 | EIGEN_MAKE_CONJ_HELPER_CPLX_REAL(Packet2cf,Packet4f)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/eigen3/Eigen/src/Core/arch/Default/ConjHelper.h:29:60: warning: ignoring attributes on template argument ‘Eigen::internal::Packet4f’ {aka ‘__m128’} [-Wignored-attributes]
   29 |   struct conj_helper<PACKET_CPLX, PACKET_REAL, false, false> {          \
      |                                                            ^
include/eigen3/Eigen/src/Core/arch/SSE/Complex.h:173:1: note: in expansion of macro ‘EIGEN_MAKE_CONJ_HELPER_CPLX_REAL’
  173 | EIGEN_MAKE_CONJ_HELPER_CPLX_REAL(Packet2cf,Packet4f)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/eigen3/Eigen/src/Core/arch/Default/ConjHelper.h:16:60: warning: ignoring attributes on template argument ‘Eigen::internal::Packet2d’ {aka ‘__m128d’} [-Wignored-attributes]
   16 |   struct conj_helper<PACKET_REAL, PACKET_CPLX, false, false> {          \
      |                                                            ^
include/eigen3/Eigen/src/Core/arch/SSE/Complex.h:298:1: note: in expansion of macro ‘EIGEN_MAKE_CONJ_HELPER_CPLX_REAL’
  298 | EIGEN_MAKE_CONJ_HELPER_CPLX_REAL(Packet1cd,Packet2d)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/eigen3/Eigen/src/Core/arch/Default/ConjHelper.h:29:60: warning: ignoring attributes on template argument ‘Eigen::internal::Packet2d’ {aka ‘__m128d’} [-Wignored-attributes]
   29 |   struct conj_helper<PACKET_CPLX, PACKET_REAL, false, false> {          \
      |                                                            ^
include/eigen3/Eigen/src/Core/arch/SSE/Complex.h:298:1: note: in expansion of macro ‘EIGEN_MAKE_CONJ_HELPER_CPLX_REAL’
  298 | EIGEN_MAKE_CONJ_HELPER_CPLX_REAL(Packet1cd,Packet2d)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from include/eigen3/Eigen/Core:165:
include/eigen3/Eigen/src/Core/util/XprHelper.h: In instantiation of ‘struct Eigen::internal::find_best_packet<double, -1>’:
include/eigen3/Eigen/src/Core/Matrix.h:22:57:   required from ‘struct Eigen::internal::traits<Eigen::Matrix<double, -1, 1> >’
   22 |   typedef typename find_best_packet<_Scalar,size>::type PacketScalar;
      |                                                         ^~~~~~~~~~~~
include/eigen3/Eigen/src/Core/Array.h:17:8:   required from ‘struct Eigen::internal::traits<Eigen::Array<double, -1, 1> >’
   17 | struct traits<Array<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols> > : traits<Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols> >
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/eigen3/Eigen/src/Core/PlainObjectBase.h:98:7:   required from ‘class Eigen::PlainObjectBase<Eigen::Array<double, -1, 1> >’
   98 | class PlainObjectBase : public internal::dense_xpr_base<Derived>::type
      |       ^~~~~~~~~~~~~~~
include/eigen3/Eigen/src/Core/Array.h:45:7:   required from ‘class Eigen::Array<double, -1, 1>’
   45 | class Array
      |       ^~~~~
MutualInformationBase.cpp:58:102:   required from here
   58 | ArrayXd MutualInformationBase::scale(const ArrayXd &x, const bool apply_scale, const bool add_noise) const {
      |                                                                                                      ^~~~~
include/eigen3/Eigen/src/Core/util/XprHelper.h:190:44: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
  190 |          bool Stop = Size==Dynamic || (Size%unpacket_traits<PacketType>::size)==0 || is_same<PacketType,typename unpacket_traits<PacketType>::half>::value>
      |                                       ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/eigen3/Eigen/src/Core/util/XprHelper.h:190:83: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
  190 |          bool Stop = Size==Dynamic || (Size%unpacket_traits<PacketType>::size)==0 || is_same<PacketType,typename unpacket_traits<PacketType>::half>::value>
      |                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/eigen3/Eigen/src/Core/util/XprHelper.h:190:83: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
include/eigen3/Eigen/src/Core/util/XprHelper.h:190:83: warning: ignoring attributes on template argument ‘Eigen::internal::unpacket_traits<__vector(2) double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
include/eigen3/Eigen/src/Core/util/XprHelper.h:208:88: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
  208 |   typedef typename find_best_packet_helper<Size,typename packet_traits<T>::type>::type type;
      |                                                                                        ^~~~
In file included from include/eigen3/Eigen/Core:271:
include/eigen3/Eigen/src/Core/DenseCoeffsBase.h: In instantiation of ‘class Eigen::DenseCoeffsBase<Eigen::Array<double, -1, 1>, 0>’:
include/eigen3/Eigen/src/Core/DenseCoeffsBase.h:302:7:   required from ‘class Eigen::DenseCoeffsBase<Eigen::Array<double, -1, 1>, 1>’
  302 | class DenseCoeffsBase<Derived, WriteAccessors> : public DenseCoeffsBase<Derived, ReadOnlyAccessors>
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/eigen3/Eigen/src/Core/DenseCoeffsBase.h:555:7:   required from ‘class Eigen::DenseCoeffsBase<Eigen::Array<double, -1, 1>, 3>’
  555 | class DenseCoeffsBase<Derived, DirectWriteAccessors>
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/eigen3/Eigen/src/Core/DenseBase.h:41:34:   required from ‘class Eigen::DenseBase<Eigen::Array<double, -1, 1> >’
   41 | template<typename Derived> class DenseBase
      |                                  ^~~~~~~~~
include/eigen3/Eigen/src/Core/ArrayBase.h:39:34:   required from ‘class Eigen::ArrayBase<Eigen::Array<double, -1, 1> >’
   39 | template<typename Derived> class ArrayBase
      |                                  ^~~~~~~~~
include/eigen3/Eigen/src/Core/PlainObjectBase.h:98:7:   required from ‘class Eigen::PlainObjectBase<Eigen::Array<double, -1, 1> >’
   98 | class PlainObjectBase : public internal::dense_xpr_base<Derived>::type
      |       ^~~~~~~~~~~~~~~
include/eigen3/Eigen/src/Core/Array.h:45:7:   required from ‘class Eigen::Array<double, -1, 1>’
   45 | class Array
      |       ^~~~~
MutualInformationBase.cpp:58:102:   required from here
   58 | ArrayXd MutualInformationBase::scale(const ArrayXd &x, const bool apply_scale, const bool add_noise) const {
      |                                                                                                      ^~~~~
include/eigen3/Eigen/src/Core/DenseCoeffsBase.h:56:30: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
   56 |                      >::type PacketReturnType;
      |                              ^~~~~~~~~~~~~~~~
include/eigen3/Eigen/src/Core/DenseCoeffsBase.h: In instantiation of ‘class Eigen::DenseCoeffsBase<Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, const Eigen::Array<double, -1, 1> >, 0>’:
include/eigen3/Eigen/src/Core/DenseBase.h:41:34:   required from ‘class Eigen::DenseBase<Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, const Eigen::Array<double, -1, 1> > >’
   41 | template<typename Derived> class DenseBase
      |                                  ^~~~~~~~~
include/eigen3/Eigen/src/Core/ArrayBase.h:39:34:   required from ‘class Eigen::ArrayBase<Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, const Eigen::Array<double, -1, 1> > >’
   39 | template<typename Derived> class ArrayBase
      |                                  ^~~~~~~~~
include/eigen3/Eigen/src/Core/CwiseNullaryOp.h:60:7:   required from ‘class Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, const Eigen::Array<double, -1, 1> >’
   60 | class CwiseNullaryOp : public internal::dense_xpr_base< CwiseNullaryOp<NullaryOp, PlainObjectType> >::type, internal::no_assignment_operator
      |       ^~~~~~~~~~~~~~
include/eigen3/Eigen/src/Core/CwiseBinaryOp.h:38:28:   required from ‘struct Eigen::internal::traits<Eigen::CwiseBinaryOp<Eigen::internal::scalar_pow_op<double, double>, const Eigen::Array<double, -1, 1>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, const Eigen::Array<double, -1, 1> > > >’
   38 |                    >::type Scalar;
      |                            ^~~~~~
include/eigen3/Eigen/src/Core/CwiseBinaryOp.h:148:7:   required from ‘class Eigen::CwiseBinaryOpImpl<Eigen::internal::scalar_pow_op<double, double>, const Eigen::Array<double, -1, 1>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, const Eigen::Array<double, -1, 1> >, Eigen::Dense>’
  148 | class CwiseBinaryOpImpl
      |       ^~~~~~~~~~~~~~~~~
include/eigen3/Eigen/src/Core/CwiseBinaryOp.h:77:7:   required from ‘class Eigen::CwiseBinaryOp<Eigen::internal::scalar_pow_op<double, double>, const Eigen::Array<double, -1, 1>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, const Eigen::Array<double, -1, 1> > >’
   77 | class CwiseBinaryOp :
      |       ^~~~~~~~~~~~~
MutualInformationBase.cpp:65:43:   required from here
   65 |     double std_dev = std::sqrt(x_scale.pow(2).sum() / (size_x - 1)) ;
      |                                ~~~~~~~~~~~^~~
include/eigen3/Eigen/src/Core/DenseCoeffsBase.h:56:30: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
   56 |                      >::type PacketReturnType;
      |                              ^~~~~~~~~~~~~~~~
include/eigen3/Eigen/src/Core/DenseCoeffsBase.h: In instantiation of ‘class Eigen::DenseCoeffsBase<Eigen::CwiseBinaryOp<Eigen::internal::scalar_pow_op<double, double>, const Eigen::Array<double, -1, 1>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, const Eigen::Array<double, -1, 1> > >, 0>’:
include/eigen3/Eigen/src/Core/DenseBase.h:41:34:   required from ‘class Eigen::DenseBase<Eigen::CwiseBinaryOp<Eigen::internal::scalar_pow_op<double, double>, const Eigen::Array<double, -1, 1>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, const Eigen::Array<double, -1, 1> > > >’
   41 | template<typename Derived> class DenseBase
      |                                  ^~~~~~~~~
include/eigen3/Eigen/src/Core/ArrayBase.h:39:34:   required from ‘class Eigen::ArrayBase<Eigen::CwiseBinaryOp<Eigen::internal::scalar_pow_op<double, double>, const Eigen::Array<double, -1, 1>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, const Eigen::Array<double, -1, 1> > > >’
   39 | template<typename Derived> class ArrayBase
      |                                  ^~~~~~~~~
include/eigen3/Eigen/src/Core/CwiseBinaryOp.h:148:7:   required from ‘class Eigen::CwiseBinaryOpImpl<Eigen::internal::scalar_pow_op<double, double>, const Eigen::Array<double, -1, 1>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, const Eigen::Array<double, -1, 1> >, Eigen::Dense>’
  148 | class CwiseBinaryOpImpl
      |       ^~~~~~~~~~~~~~~~~
include/eigen3/Eigen/src/Core/CwiseBinaryOp.h:77:7:   required from ‘class Eigen::CwiseBinaryOp<Eigen::internal::scalar_pow_op<double, double>, const Eigen::Array<double, -1, 1>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, const Eigen::Array<double, -1, 1> > >’
   77 | class CwiseBinaryOp :
      |       ^~~~~~~~~~~~~
MutualInformationBase.cpp:65:43:   required from here
   65 |     double std_dev = std::sqrt(x_scale.pow(2).sum() / (size_x - 1)) ;
      |                                ~~~~~~~~~~~^~~
include/eigen3/Eigen/src/Core/DenseCoeffsBase.h:56:30: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
   56 |                      >::type PacketReturnType;
      |                              ^~~~~~~~~~~~~~~~
include/eigen3/Eigen/src/Core/DenseCoeffsBase.h: In instantiation of ‘class Eigen::DenseCoeffsBase<Eigen::CwiseBinaryOp<Eigen::internal::scalar_quotient_op<double, double>, const Eigen::Array<double, -1, 1>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, const Eigen::Array<double, -1, 1> > >, 0>’:
include/eigen3/Eigen/src/Core/DenseBase.h:41:34:   required from ‘class Eigen::DenseBase<Eigen::CwiseBinaryOp<Eigen::internal::scalar_quotient_op<double, double>, const Eigen::Array<double, -1, 1>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, const Eigen::Array<double, -1, 1> > > >’
   41 | template<typename Derived> class DenseBase
      |                                  ^~~~~~~~~
include/eigen3/Eigen/src/Core/ArrayBase.h:39:34:   required from ‘class Eigen::ArrayBase<Eigen::CwiseBinaryOp<Eigen::internal::scalar_quotient_op<double, double>, const Eigen::Array<double, -1, 1>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, const Eigen::Array<double, -1, 1> > > >’
   39 | template<typename Derived> class ArrayBase
      |                                  ^~~~~~~~~
include/eigen3/Eigen/src/Core/CwiseBinaryOp.h:148:7:   required from ‘class Eigen::CwiseBinaryOpImpl<Eigen::internal::scalar_quotient_op<double, double>, const Eigen::Array<double, -1, 1>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, const Eigen::Array<double, -1, 1> >, Eigen::Dense>’
  148 | class CwiseBinaryOpImpl
      |       ^~~~~~~~~~~~~~~~~
include/eigen3/Eigen/src/Core/CwiseBinaryOp.h:77:7:   required from ‘class Eigen::CwiseBinaryOp<Eigen::internal::scalar_quotient_op<double, double>, const Eigen::Array<double, -1, 1>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, const Eigen::Array<double, -1, 1> > >’
   77 | class CwiseBinaryOp :
      |       ^~~~~~~~~~~~~
MutualInformationBase.cpp:66:26:   required from here
   66 |     x_scale = x_scale  / std_dev ;
      |                          ^~~~~~~
include/eigen3/Eigen/src/Core/DenseCoeffsBase.h:56:30: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
   56 |                      >::type PacketReturnType;
      |                              ^~~~~~~~~~~~~~~~
include/eigen3/Eigen/src/Core/DenseCoeffsBase.h: In instantiation of ‘class Eigen::DenseCoeffsBase<Eigen::Map<const Eigen::Array<double, -1, 1> >, 0>’:
include/eigen3/Eigen/src/Core/DenseCoeffsBase.h:481:7:   required from ‘class Eigen::DenseCoeffsBase<Eigen::Map<const Eigen::Array<double, -1, 1> >, 2>’
  481 | class DenseCoeffsBase<Derived, DirectAccessors> : public DenseCoeffsBase<Derived, ReadOnlyAccessors>
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/eigen3/Eigen/src/Core/DenseBase.h:41:34:   required from ‘class Eigen::DenseBase<Eigen::Map<const Eigen::Array<double, -1, 1> > >’
   41 | template<typename Derived> class DenseBase
      |                                  ^~~~~~~~~
include/eigen3/Eigen/src/Core/ArrayBase.h:39:34:   required from ‘class Eigen::ArrayBase<Eigen::Map<const Eigen::Array<double, -1, 1> > >’
   39 | template<typename Derived> class ArrayBase
      |                                  ^~~~~~~~~
include/eigen3/Eigen/src/Core/MapBase.h:37:34:   required from ‘class Eigen::MapBase<Eigen::Map<const Eigen::Array<double, -1, 1> >, 0>’
   37 | template<typename Derived> class MapBase<Derived, ReadOnlyAccessors>
      |                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/eigen3/Eigen/src/Core/Map.h:94:79:   required from ‘class Eigen::Map<const Eigen::Array<double, -1, 1> >’
   94 | template<typename PlainObjectType, int MapOptions, typename StrideType> class Map
      |                                                                               ^~~
include/nanoflann.hpp:2312:11:   required from ‘struct nanoflann::KDTreeEigenMatrixAdaptor<Eigen::Map<const Eigen::Array<double, -1, 1> >, -1, nanoflann::metric_L1>’
 2312 |     using num_t     = typename MatrixType::Scalar;
      |           ^~~~~
MutualInformationBase.cpp:113:86:   required from here
  113 |   nanoflann::KDTreeEigenMatrixAdaptor<MapArrayConst,-1,nanoflann::metric_L1> vec_tree(1, vec) ;
      |                                                                                      ^
include/eigen3/Eigen/src/Core/DenseCoeffsBase.h:56:30: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
   56 |                      >::type PacketReturnType;
      |                              ^~~~~~~~~~~~~~~~
include/eigen3/Eigen/src/Core/DenseCoeffsBase.h: In instantiation of ‘Eigen::Index Eigen::internal::first_default_aligned(const Eigen::DenseBase<Derived>&) [with Derived = Eigen::Array<double, -1, 1>; Eigen::Index = long int]’:
include/eigen3/Eigen/src/Core/Redux.h:243:63:   required from ‘static Eigen::internal::redux_impl<Func, Evaluator, 3, 0>::Scalar Eigen::internal::redux_impl<Func, Evaluator, 3, 0>::run(const Evaluator&, const Func&, const XprType&) [with XprType = Eigen::Array<double, -1, 1>; Func = Eigen::internal::scalar_sum_op<double, double>; Evaluator = Eigen::internal::redux_evaluator<Eigen::Array<double, -1, 1> >; Scalar = double]’
  243 |     const Index alignedStart = internal::first_default_aligned(xpr);
      |                                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
include/eigen3/Eigen/src/Core/Redux.h:418:56:   required from ‘typename Eigen::internal::traits<T>::Scalar Eigen::DenseBase<Derived>::redux(const Func&) const [with BinaryOp = Eigen::internal::scalar_sum_op<double, double>; Derived = Eigen::Array<double, -1, 1>; typename Eigen::internal::traits<T>::Scalar = double]’
  418 |   return internal::redux_impl<Func, ThisEvaluator>::run(thisEval, func, derived());
      |          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
include/eigen3/Eigen/src/Core/Redux.h:478:32:   required from ‘typename Eigen::internal::traits<T>::Scalar Eigen::DenseBase<Derived>::mean() const [with Derived = Eigen::Array<double, -1, 1>; typename Eigen::internal::traits<T>::Scalar = double]’
  478 |   return Scalar(derived().redux(Eigen::internal::scalar_sum_op<Scalar,Scalar>())) / Scalar(this->size());
      |                 ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
MutualInformationBase.cpp:77:26:   required from here
   77 |     mean_x = x_scale.mean() ;
      |              ~~~~~~~~~~~~^~
include/eigen3/Eigen/src/Core/DenseCoeffsBase.h:654:74: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
  654 |   return internal::first_aligned<int(unpacket_traits<DefaultPacketType>::alignment),Derived>(m);
      |                                                                          ^~~~~~~~~
g++-14 -std=gnu++17 -I"/home/hornik/tmp/R.check/r-release-gcc/Work/build/include" -DNDEBUG   -I/usr/local/include -D_FORTIFY_SOURCE=3  -Iinclude/ -Iinclude/eigen3/ -DNDEBUG -DEIGEN_NO_DEBUG -DEIGEN_NO_IO  -fpic  -g -O2 -Wall -pedantic -mtune=native   -c MutualInformationDiscrete.cpp -o MutualInformationDiscrete.o
In file included from include/eigen3/Eigen/Core:205,
                 from include/MutualInformationDiscrete.h:24,
                 from MutualInformationDiscrete.cpp:21:
include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h:46:40: warning: ignoring attributes on template argument ‘__m128i’ [-Wignored-attributes]
   46 | typedef eigen_packet_wrapper<__m128i, 0> Packet4i;
      |                                        ^
include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h:47:40: warning: ignoring attributes on template argument ‘__m128i’ [-Wignored-attributes]
   47 | typedef eigen_packet_wrapper<__m128i, 1> Packet16b;
      |                                        ^
include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h:49:39: warning: ignoring attributes on template argument ‘__m128’ [-Wignored-attributes]
   49 | template<> struct is_arithmetic<__m128>  { enum { value = true }; };
      |                                       ^
include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h:50:40: warning: ignoring attributes on template argument ‘__m128i’ [-Wignored-attributes]
   50 | template<> struct is_arithmetic<__m128i> { enum { value = true }; };
      |                                        ^
include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h:51:40: warning: ignoring attributes on template argument ‘__m128d’ [-Wignored-attributes]
   51 | template<> struct is_arithmetic<__m128d> { enum { value = true }; };
      |                                        ^
include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h:222:43: warning: ignoring attributes on template argument ‘Eigen::internal::Packet4f’ {aka ‘__m128’} [-Wignored-attributes]
  222 | template<> struct unpacket_traits<Packet4f> {
      |                                           ^
include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h:228:43: warning: ignoring attributes on template argument ‘Eigen::internal::Packet2d’ {aka ‘__m128d’} [-Wignored-attributes]
  228 | template<> struct unpacket_traits<Packet2d> {
      |                                           ^
include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h:1124:34: warning: ignoring attributes on template argument ‘Eigen::internal::Packet4f’ {aka ‘__m128’} [-Wignored-attributes]
 1124 | ptranspose(PacketBlock<Packet4f,4>& kernel) {
      |                                  ^
include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h:1129:34: warning: ignoring attributes on template argument ‘Eigen::internal::Packet2d’ {aka ‘__m128d’} [-Wignored-attributes]
 1129 | ptranspose(PacketBlock<Packet2d,2>& kernel) {
      |                                  ^
In file included from include/eigen3/Eigen/Core:174:
include/eigen3/Eigen/src/Core/arch/Default/ConjHelper.h:16:60: warning: ignoring attributes on template argument ‘Eigen::internal::Packet4f’ {aka ‘__m128’} [-Wignored-attributes]
   16 |   struct conj_helper<PACKET_REAL, PACKET_CPLX, false, false> {          \
      |                                                            ^
include/eigen3/Eigen/src/Core/arch/SSE/Complex.h:173:1: note: in expansion of macro ‘EIGEN_MAKE_CONJ_HELPER_CPLX_REAL’
  173 | EIGEN_MAKE_CONJ_HELPER_CPLX_REAL(Packet2cf,Packet4f)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/eigen3/Eigen/src/Core/arch/Default/ConjHelper.h:29:60: warning: ignoring attributes on template argument ‘Eigen::internal::Packet4f’ {aka ‘__m128’} [-Wignored-attributes]
   29 |   struct conj_helper<PACKET_CPLX, PACKET_REAL, false, false> {          \
      |                                                            ^
include/eigen3/Eigen/src/Core/arch/SSE/Complex.h:173:1: note: in expansion of macro ‘EIGEN_MAKE_CONJ_HELPER_CPLX_REAL’
  173 | EIGEN_MAKE_CONJ_HELPER_CPLX_REAL(Packet2cf,Packet4f)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/eigen3/Eigen/src/Core/arch/Default/ConjHelper.h:16:60: warning: ignoring attributes on template argument ‘Eigen::internal::Packet2d’ {aka ‘__m128d’} [-Wignored-attributes]
   16 |   struct conj_helper<PACKET_REAL, PACKET_CPLX, false, false> {          \
      |                                                            ^
include/eigen3/Eigen/src/Core/arch/SSE/Complex.h:298:1: note: in expansion of macro ‘EIGEN_MAKE_CONJ_HELPER_CPLX_REAL’
  298 | EIGEN_MAKE_CONJ_HELPER_CPLX_REAL(Packet1cd,Packet2d)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/eigen3/Eigen/src/Core/arch/Default/ConjHelper.h:29:60: warning: ignoring attributes on template argument ‘Eigen::internal::Packet2d’ {aka ‘__m128d’} [-Wignored-attributes]
   29 |   struct conj_helper<PACKET_CPLX, PACKET_REAL, false, false> {          \
      |                                                            ^
include/eigen3/Eigen/src/Core/arch/SSE/Complex.h:298:1: note: in expansion of macro ‘EIGEN_MAKE_CONJ_HELPER_CPLX_REAL’
  298 | EIGEN_MAKE_CONJ_HELPER_CPLX_REAL(Packet1cd,Packet2d)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from include/MutualInformationDiscrete.h:27:
include/MutualInformationBase.h:65:24: warning: ‘virtual double CaDrA::MutualInformationBase::compute()’ was hidden [-Woverloaded-virtual=]
   65 |         virtual double compute() ;
      |                        ^~~~~~~
include/MutualInformationDiscrete.h:50:18: note:   by ‘virtual double CaDrA::MutualInformationDiscrete::compute(const Eigen::ArrayXd&, const Eigen::ArrayXi&)’
   50 |   virtual double compute(const ArrayXd &x, const ArrayXi& y) ;
      |                  ^~~~~~~
In file included from include/eigen3/Eigen/Core:165:
include/eigen3/Eigen/src/Core/util/XprHelper.h: In instantiation of ‘struct Eigen::internal::find_best_packet<double, -1>’:
include/eigen3/Eigen/src/Core/Matrix.h:22:57:   required from ‘struct Eigen::internal::traits<Eigen::Matrix<double, -1, 1> >’
   22 |   typedef typename find_best_packet<_Scalar,size>::type PacketScalar;
      |                                                         ^~~~~~~~~~~~
include/eigen3/Eigen/src/Core/Array.h:17:8:   required from ‘struct Eigen::internal::traits<Eigen::Array<double, -1, 1> >’
   17 | struct traits<Array<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols> > : traits<Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols> >
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/eigen3/Eigen/src/Core/PlainObjectBase.h:98:7:   required from ‘class Eigen::PlainObjectBase<Eigen::Array<double, -1, 1> >’
   98 | class PlainObjectBase : public internal::dense_xpr_base<Derived>::type
      |       ^~~~~~~~~~~~~~~
include/eigen3/Eigen/src/Core/Array.h:45:7:   required from ‘class Eigen::Array<double, -1, 1>’
   45 | class Array
      |       ^~~~~
MutualInformationDiscrete.cpp:49:13:   required from here
   49 |   auto N = x.size() ;
      |             ^
include/eigen3/Eigen/src/Core/util/XprHelper.h:190:44: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
  190 |          bool Stop = Size==Dynamic || (Size%unpacket_traits<PacketType>::size)==0 || is_same<PacketType,typename unpacket_traits<PacketType>::half>::value>
      |                                       ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/eigen3/Eigen/src/Core/util/XprHelper.h:190:83: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
  190 |          bool Stop = Size==Dynamic || (Size%unpacket_traits<PacketType>::size)==0 || is_same<PacketType,typename unpacket_traits<PacketType>::half>::value>
      |                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/eigen3/Eigen/src/Core/util/XprHelper.h:190:83: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
include/eigen3/Eigen/src/Core/util/XprHelper.h:190:83: warning: ignoring attributes on template argument ‘Eigen::internal::unpacket_traits<__vector(2) double>::half’ {aka ‘__m128d’} [-Wignored-attributes]
include/eigen3/Eigen/src/Core/util/XprHelper.h:208:88: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
  208 |   typedef typename find_best_packet_helper<Size,typename packet_traits<T>::type>::type type;
      |                                                                                        ^~~~
In file included from include/eigen3/Eigen/Core:271:
include/eigen3/Eigen/src/Core/DenseCoeffsBase.h: In instantiation of ‘class Eigen::DenseCoeffsBase<Eigen::Array<double, -1, 1>, 0>’:
include/eigen3/Eigen/src/Core/DenseCoeffsBase.h:302:7:   required from ‘class Eigen::DenseCoeffsBase<Eigen::Array<double, -1, 1>, 1>’
  302 | class DenseCoeffsBase<Derived, WriteAccessors> : public DenseCoeffsBase<Derived, ReadOnlyAccessors>
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/eigen3/Eigen/src/Core/DenseCoeffsBase.h:555:7:   required from ‘class Eigen::DenseCoeffsBase<Eigen::Array<double, -1, 1>, 3>’
  555 | class DenseCoeffsBase<Derived, DirectWriteAccessors>
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/eigen3/Eigen/src/Core/DenseBase.h:41:34:   required from ‘class Eigen::DenseBase<Eigen::Array<double, -1, 1> >’
   41 | template<typename Derived> class DenseBase
      |                                  ^~~~~~~~~
include/eigen3/Eigen/src/Core/ArrayBase.h:39:34:   required from ‘class Eigen::ArrayBase<Eigen::Array<double, -1, 1> >’
   39 | template<typename Derived> class ArrayBase
      |                                  ^~~~~~~~~
include/eigen3/Eigen/src/Core/PlainObjectBase.h:98:7:   required from ‘class Eigen::PlainObjectBase<Eigen::Array<double, -1, 1> >’
   98 | class PlainObjectBase : public internal::dense_xpr_base<Derived>::type
      |       ^~~~~~~~~~~~~~~
include/eigen3/Eigen/src/Core/Array.h:45:7:   required from ‘class Eigen::Array<double, -1, 1>’
   45 | class Array
      |       ^~~~~
MutualInformationDiscrete.cpp:49:13:   required from here
   49 |   auto N = x.size() ;
      |             ^
include/eigen3/Eigen/src/Core/DenseCoeffsBase.h:56:30: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
   56 |                      >::type PacketReturnType;
      |                              ^~~~~~~~~~~~~~~~
include/eigen3/Eigen/src/Core/DenseCoeffsBase.h: In instantiation of ‘class Eigen::DenseCoeffsBase<Eigen::IndexedView<Eigen::Array<double, -1, 1>, std::vector<int>, Eigen::internal::SingleRange>, 0>’:
include/eigen3/Eigen/src/Core/DenseCoeffsBase.h:302:7:   required from ‘class Eigen::DenseCoeffsBase<Eigen::IndexedView<Eigen::Array<double, -1, 1>, std::vector<int>, Eigen::internal::SingleRange>, 1>’
  302 | class DenseCoeffsBase<Derived, WriteAccessors> : public DenseCoeffsBase<Derived, ReadOnlyAccessors>
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/eigen3/Eigen/src/Core/DenseBase.h:41:34:   required from ‘class Eigen::DenseBase<Eigen::IndexedView<Eigen::Array<double, -1, 1>, std::vector<int>, Eigen::internal::SingleRange> >’
   41 | template<typename Derived> class DenseBase
      |                                  ^~~~~~~~~
include/eigen3/Eigen/src/Core/ArrayBase.h:39:34:   required from ‘class Eigen::ArrayBase<Eigen::IndexedView<Eigen::Array<double, -1, 1>, std::vector<int>, Eigen::internal::SingleRange> >’
   39 | template<typename Derived> class ArrayBase
      |                                  ^~~~~~~~~
include/eigen3/Eigen/src/Core/IndexedView.h:153:7:   required from ‘class Eigen::IndexedViewImpl<Eigen::Array<double, -1, 1>, std::vector<int>, Eigen::internal::SingleRange, Eigen::Dense>’
  153 | class IndexedViewImpl
      |       ^~~~~~~~~~~~~~~
include/eigen3/Eigen/src/Core/IndexedView.h:109:7:   required from ‘class Eigen::IndexedView<Eigen::Array<double, -1, 1>, std::vector<int>, Eigen::internal::SingleRange>’
  109 | class IndexedView : public IndexedViewImpl<XprType, RowIndices, ColIndices, typename internal::traits<XprType>::StorageKind>
      |       ^~~~~~~~~~~
MutualInformationDiscrete.cpp:97:33:   required from here
   97 |       ArrayXd masked_x = x_scale(label_indices) ;
      |                          ~~~~~~~^~~~~~~~~~~~~~~
include/eigen3/Eigen/src/Core/DenseCoeffsBase.h:56:30: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes]
   56 |                      >::type PacketReturnType;
      |                              ^~~~~~~~~~~~~~~~
gcc-14 -I"/home/hornik/tmp/R.check/r-release-gcc/Work/build/include" -DNDEBUG   -I/usr/local/include -D_FORTIFY_SOURCE=3   -fpic  -g -O2 -Wall -Wstrict-prototypes -pedantic -mtune=native  -c knn_mi_lib.c -o knn_mi_lib.o
knn_mi_lib.c: In function ‘_cond_mutual_inf’:
knn_mi_lib.c:290:9: warning: ‘mi’ may be used uninitialized [-Wmaybe-uninitialized]
  290 |   return( mi );
      |         ^
knn_mi_lib.c:192:8: note: ‘mi’ was declared here
  192 |   SEXP mi ;
      |        ^~
gcc-14 -I"/home/hornik/tmp/R.check/r-release-gcc/Work/build/include" -DNDEBUG   -I/usr/local/include -D_FORTIFY_SOURCE=3   -fpic  -g -O2 -Wall -Wstrict-prototypes -pedantic -mtune=native  -c registerDynamicSymbol.c -o registerDynamicSymbol.o
g++-14 -std=gnu++17 -shared -L/home/hornik/tmp/R.check/r-release-gcc/Work/build/lib -Wl,-O1 -o knnmi.so CondMutualInformation.o MI_Matrix.o MutualInformation.o MutualInformationBase.o MutualInformationDiscrete.o knn_mi_lib.o registerDynamicSymbol.o -L/home/hornik/tmp/R.check/r-release-gcc/Work/build/lib -lR
make[1]: Leaving directory '/home/hornik/tmp/scratch/RtmpZfhgUH/R.INSTALL1c87b51c28d84a/knnmi/src'
make[1]: Entering directory '/home/hornik/tmp/scratch/RtmpZfhgUH/R.INSTALL1c87b51c28d84a/knnmi/src'
make[1]: Leaving directory '/home/hornik/tmp/scratch/RtmpZfhgUH/R.INSTALL1c87b51c28d84a/knnmi/src'
installing to /home/hornik/tmp/R.check/r-release-gcc/Work/build/Packages/00LOCK-knnmi/00new/knnmi/libs
** R
** data
*** moving datasets to lazyload DB
** inst
** byte-compile and prepare package for lazy loading
** help
*** installing help indices
** building package indices
** testing if installed package can be loaded from temporary location
** checking absolute paths in shared objects and dynamic libraries
** testing if installed package can be loaded from final location
** testing if installed package keeps a record of temporary installation path
* DONE (knnmi)