* installing to library ‘/home/hornik/tmp/R.check/r-patched-gcc/Work/build/Packages’
* installing *source* package ‘fasano.franceschini.test’ ...
** package ‘fasano.franceschini.test’ successfully unpacked and MD5 sums checked
** using staged installation
** libs
using C++ compiler: ‘g++-14 (Debian 14.2.0-8) 14.2.0’
using C++17
make[1]: Entering directory '/home/hornik/tmp/scratch/RtmplMgqkJ/R.INSTALL15cefa7bcfe863/fasano.franceschini.test/src'
g++-14 -std=gnu++17 -I"/home/hornik/tmp/R.check/r-patched-gcc/Work/build/include" -DNDEBUG  -I'/home/hornik/tmp/R.check/r-patched-gcc/Work/build/Packages/Rcpp/include' -I'/home/hornik/tmp/R.check/r-patched-gcc/Work/build/Packages/RcppParallel/include' -I/usr/local/include -D_FORTIFY_SOURCE=3   -fpic  -g -O2 -Wall -pedantic -mtune=native   -c ProgressBar.cpp -o ProgressBar.o
g++-14 -std=gnu++17 -I"/home/hornik/tmp/R.check/r-patched-gcc/Work/build/include" -DNDEBUG  -I'/home/hornik/tmp/R.check/r-patched-gcc/Work/build/Packages/Rcpp/include' -I'/home/hornik/tmp/R.check/r-patched-gcc/Work/build/Packages/RcppParallel/include' -I/usr/local/include -D_FORTIFY_SOURCE=3   -fpic  -g -O2 -Wall -pedantic -mtune=native   -c RcppExports.cpp -o RcppExports.o
g++-14 -std=gnu++17 -I"/home/hornik/tmp/R.check/r-patched-gcc/Work/build/include" -DNDEBUG  -I'/home/hornik/tmp/R.check/r-patched-gcc/Work/build/Packages/Rcpp/include' -I'/home/hornik/tmp/R.check/r-patched-gcc/Work/build/Packages/RcppParallel/include' -I/usr/local/include -D_FORTIFY_SOURCE=3   -fpic  -g -O2 -Wall -pedantic -mtune=native   -c ff_internal_functions.cpp -o ff_internal_functions.o
In file included from ff_internal_functions.cpp:10:
distance.h: In function ‘long int rangeDistance(const RTree&, const RTree&, std::size_t, std::size_t, const std::vector<double>&)’:
distance.h:64:31: warning: comparison of integer expressions of different signedness: ‘std::size_t’ {aka ‘long unsigned int’} and ‘int’ [-Wsign-compare]
   64 |     for (std::size_t i = 0; i < (1 << ndim); ++i) {
      |                             ~~^~~~~~~~~~~~~
In file included from /home/hornik/tmp/R.check/r-patched-gcc/Work/build/Packages/RcppParallel/include/tbb/tbb.h:32,
                 from /home/hornik/tmp/R.check/r-patched-gcc/Work/build/Packages/RcppParallel/include/RcppParallel/TBB.h:10,
                 from /home/hornik/tmp/R.check/r-patched-gcc/Work/build/Packages/RcppParallel/include/RcppParallel.h:24,
                 from ff_internal_functions.cpp:2:
/home/hornik/tmp/R.check/r-patched-gcc/Work/build/Packages/RcppParallel/include/tbb/atomic.h: In instantiation of ‘tbb::atomic<T>& tbb::internal::as_atomic(T&) [with T = long unsigned int]’:
/home/hornik/tmp/R.check/r-patched-gcc/Work/build/Packages/RcppParallel/include/tbb/tbb_thread.h:251:29:   required from here
  251 |             return as_atomic(location.my_id).compare_and_swap(value.my_id, comparand.my_id);
      |                    ~~~~~~~~~^~~~~~~~~~~~~~~~
/home/hornik/tmp/R.check/r-patched-gcc/Work/build/Packages/RcppParallel/include/tbb/atomic.h:544:12: warning: casting ‘long unsigned int’ to ‘tbb::atomic<long unsigned int>&’ does not use ‘constexpr tbb::atomic<long unsigned int>::atomic(long unsigned int)’ [-Wcast-user-defined]
  544 |     return (atomic<T>&)t;
      |            ^~~~~~~~~~~~~
/home/hornik/tmp/R.check/r-patched-gcc/Work/build/Packages/RcppParallel/include/tbb/atomic.h: In instantiation of ‘tbb::atomic<T>& tbb::internal::as_atomic(T&) [with T = tbb::interface5::internal::hash_map_base::bucket*]’:
/home/hornik/tmp/R.check/r-patched-gcc/Work/build/Packages/RcppParallel/include/tbb/concurrent_hash_map.h:291:31:   required from here
  291 |                   && as_atomic(my_table[new_seg]).compare_and_swap(is_allocating, NULL) == NULL )
      |                      ~~~~~~~~~^~~~~~~~~~~~~~~~~~~
/home/hornik/tmp/R.check/r-patched-gcc/Work/build/Packages/RcppParallel/include/tbb/atomic.h:544:12: warning: casting ‘tbb::interface5::internal::hash_map_base::bucket*’ to ‘tbb::atomic<tbb::interface5::internal::hash_map_base::bucket*>&’ does not use ‘constexpr tbb::atomic<T*>::atomic(T*) [with T = tbb::interface5::internal::hash_map_base::bucket]’ [-Wcast-user-defined]
  544 |     return (atomic<T>&)t;
      |            ^~~~~~~~~~~~~
In file included from ff_internal_functions.cpp:8:
RangeTree.h: In instantiation of ‘int RangeTree::RangeTree<T, S>::countInRange(const std::vector<T>&, const std::vector<T>&, const std::vector<bool>&, const std::vector<bool>&) const [with T = double; S = int]’:
distance.h:82:63:   required from here
   82 |         long res1 = static_cast<long>(n2 * rtree1.countInRange(lowerLims, upperLims,
      |                                            ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
   83 |                                                                strict, strict));
      |                                                                ~~~~~~~~~~~~~~~
RangeTree.h:1158:31: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<double>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
 1158 |             for (int i = 0; i < lower.size(); i++) {
      |                             ~~^~~~~~~~~~~~~~
RangeTree.h: In instantiation of ‘std::vector<T> RangeTree::RangeTree<T, S>::getModifiedLower(const std::vector<T>&, const std::vector<bool>&) const [with T = double; S = int]’:
RangeTree.h:1164:39:   required from ‘int RangeTree::RangeTree<T, S>::countInRange(const std::vector<T>&, const std::vector<T>&, const std::vector<bool>&, const std::vector<bool>&) const [with T = double; S = int]’
 1164 |             return root->countInRange(getModifiedLower(lower, withLower),
      |                                       ^~~~~~~~~~~~~~~~
distance.h:82:63:   required from here
   82 |         long res1 = static_cast<long>(n2 * rtree1.countInRange(lowerLims, upperLims,
      |                                            ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
   83 |                                                                strict, strict));
      |                                                                ~~~~~~~~~~~~~~~
RangeTree.h:1085:31: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<double>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
 1085 |             for (int i = 0; i < lower.size(); i++) {
      |                             ~~^~~~~~~~~~~~~~
RangeTree.h: In instantiation of ‘std::vector<T> RangeTree::RangeTree<T, S>::getModifiedUpper(const std::vector<T>&, const std::vector<bool>&) const [with T = double; S = int]’:
RangeTree.h:1165:39:   required from ‘int RangeTree::RangeTree<T, S>::countInRange(const std::vector<T>&, const std::vector<T>&, const std::vector<bool>&, const std::vector<bool>&) const [with T = double; S = int]’
 1165 |                                       getModifiedUpper(upper, withUpper));
      |                                       ^~~~~~~~~~~~~~~~
distance.h:82:63:   required from here
   82 |         long res1 = static_cast<long>(n2 * rtree1.countInRange(lowerLims, upperLims,
      |                                            ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
   83 |                                                                strict, strict));
      |                                                                ~~~~~~~~~~~~~~~
RangeTree.h:1102:31: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<double>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
 1102 |             for (int i = 0; i < upper.size(); i++) {
      |                             ~~^~~~~~~~~~~~~~
RangeTree.h: In instantiation of ‘int RangeTree::RangeTreeNode<T, S>::countInRange(const std::vector<T>&, const std::vector<T>&) const [with T = double; S = int]’:
RangeTree.h:1164:38:   required from ‘int RangeTree::RangeTree<T, S>::countInRange(const std::vector<T>&, const std::vector<T>&, const std::vector<bool>&, const std::vector<bool>&) const [with T = double; S = int]’
 1164 |             return root->countInRange(getModifiedLower(lower, withLower),
      |                    ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1165 |                                       getModifiedUpper(upper, withUpper));
      |                                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
distance.h:82:63:   required from here
   82 |         long res1 = static_cast<long>(n2 * rtree1.countInRange(lowerLims, upperLims,
      |                                            ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
   83 |                                                                strict, strict));
      |                                                                ~~~~~~~~~~~~~~~
RangeTree.h:741:35: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<RangeTree::RangeTreeNode<double, int>*, std::allocator<RangeTree::RangeTreeNode<double, int>*> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
  741 |                 for (int i = 0; i < nodes.size(); i++) {
      |                                 ~~^~~~~~~~~~~~~~
RangeTree.h:766:35: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<std::shared_ptr<RangeTree::RangeTreeNode<double, int> >, std::allocator<std::shared_ptr<RangeTree::RangeTreeNode<double, int> > > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
  766 |                 for (int i = 0; i < canonicalNodes.size(); i++) {
      |                                 ~~^~~~~~~~~~~~~~~~~~~~~~~
RangeTree.h:772:47: warning: comparison of integer expressions of different signedness: ‘int’ and ‘long unsigned int’ [-Wsign-compare]
  772 |                     } else if (compareInd + 1 == point->dim()) {
      |                                ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
In file included from /home/hornik/tmp/R.check/r-patched-gcc/Work/build/Packages/RcppParallel/include/RcppParallel/TinyThread.h:7,
                 from /home/hornik/tmp/R.check/r-patched-gcc/Work/build/Packages/RcppParallel/include/RcppParallel.h:6:
/home/hornik/tmp/R.check/r-patched-gcc/Work/build/Packages/RcppParallel/include/RcppParallel/Common.h: In instantiation of ‘int RcppParallel::resolveValue(const char*, T, U) [with T = long unsigned int; U = int]’:
/home/hornik/tmp/R.check/r-patched-gcc/Work/build/Packages/RcppParallel/include/RcppParallel.h:60:28:   required from ‘void RcppParallel::parallelReduce(std::size_t, std::size_t, Reducer&, std::size_t, int) [with Reducer = PermutationTest; std::size_t = long unsigned int]’
   60 |    grainSize = resolveValue("RCPP_PARALLEL_GRAIN_SIZE", grainSize, 1);
      |                ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ff_internal_functions.cpp:366:19:   required from here
  366 |     parallelReduce(0, nPermute, pt);
      |     ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
/home/hornik/tmp/R.check/r-patched-gcc/Work/build/Packages/RcppParallel/include/RcppParallel/Common.h:16:23: warning: comparison of integer expressions of different signedness: ‘long unsigned int’ and ‘int’ [-Wsign-compare]
   16 |    if (requestedValue != defaultValue && requestedValue > 0)
      |        ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
RangeTree.h: In instantiation of ‘bool RangeTree::RangeTreeNode<T, S>::pointInRange(const RangeTree::Point<T, S>&, const std::vector<T>&, const std::vector<T>&) const [with T = double; S = int]’:
RangeTree.h:704:21:   required from ‘int RangeTree::RangeTreeNode<T, S>::countInRange(const std::vector<T>&, const std::vector<T>&) const [with T = double; S = int]’
  704 |                 if (pointInRange(*point, lower, upper)) {
      |                     ^~~~~~~~~~~~
RangeTree.h:1164:38:   required from ‘int RangeTree::RangeTree<T, S>::countInRange(const std::vector<T>&, const std::vector<T>&, const std::vector<bool>&, const std::vector<bool>&) const [with T = double; S = int]’
 1164 |             return root->countInRange(getModifiedLower(lower, withLower),
      |                    ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1165 |                                       getModifiedUpper(upper, withUpper));
      |                                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
distance.h:82:63:   required from here
   82 |         long res1 = static_cast<long>(n2 * rtree1.countInRange(lowerLims, upperLims,
      |                                            ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
   83 |                                                                strict, strict));
      |                                                                ~~~~~~~~~~~~~~~
RangeTree.h:683:31: warning: comparison of integer expressions of different signedness: ‘int’ and ‘long unsigned int’ [-Wsign-compare]
  683 |             for (int i = 0; i < point.dim(); i++) {
      |                             ~~^~~~~~~~~~~~~
RangeTree.h: In instantiation of ‘T RangeTree::Point<T, S>::operator[](int) const [with T = double; S = int]’:
RangeTree.h:712:25:   required from ‘int RangeTree::RangeTreeNode<T, S>::countInRange(const std::vector<T>&, const std::vector<T>&) const [with T = double; S = int]’
  712 |             if ((*point)[compareInd] > upper[compareInd]) {
      |                 ~~~~~~~~^
RangeTree.h:1164:38:   required from ‘int RangeTree::RangeTree<T, S>::countInRange(const std::vector<T>&, const std::vector<T>&, const std::vector<bool>&, const std::vector<bool>&) const [with T = double; S = int]’
 1164 |             return root->countInRange(getModifiedLower(lower, withLower),
      |                    ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1165 |                                       getModifiedUpper(upper, withUpper));
      |                                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
distance.h:82:63:   required from here
   82 |         long res1 = static_cast<long>(n2 * rtree1.countInRange(lowerLims, upperLims,
      |                                            ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
   83 |                                                                strict, strict));
      |                                                                ~~~~~~~~~~~~~~~
RangeTree.h:157:35: warning: comparison of integer expressions of different signedness: ‘int’ and ‘long unsigned int’ [-Wsign-compare]
  157 |             if(index < 0 || index >= dim()) {
      |                             ~~~~~~^~~~~~~~
RangeTree.h: In instantiation of ‘std::vector<std::shared_ptr<RangeTree::Point<T, S> > > RangeTree::RangeTree<T, S>::copyPointsToHeap(const std::vector<RangeTree::Point<T, S> >&) [with T = double; S = int]’:
RangeTree.h:1126:72:   required from ‘RangeTree::RangeTree<T, S>::RangeTree(const std::vector<RangeTree::Point<T, S> >&) [with T = double; S = int]’
 1126 |         RangeTree(const std::vector<Point<T,S> >& points): savedPoints(copyPointsToHeap(points)),
      |                                                                        ^~~~~~~~~~~~~~~~
distance.h:43:13:   required from ‘std::vector<RangeTree::RangeTree<double, int> > buildRangeTrees(const MatrixT&, std::size_t, std::size_t, const std::vector<long unsigned int>&) [with MatrixT = RcppParallel::RMatrix<double>; std::size_t = long unsigned int]’
   43 |     return {RTree(pts1), RTree(pts2)};
      |             ^~~~~~~~~~~
ff_internal_functions.cpp:89:60:   required from ‘long int testStatistic(const MatrixT&, std::size_t, std::size_t, const std::vector<long unsigned int>&, char) [with MatrixT = RcppParallel::RMatrix<double>; std::size_t = long unsigned int]’
   89 |         std::vector<RTree> trees = buildRangeTrees<MatrixT>(M, n1, n2, s);
      |                                    ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
ff_internal_functions.cpp:331:67:   required from here
  331 |             long z = testStatistic<RcppParallel::RMatrix<double> >(S, r1, r2, shuffle,
      |                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
  332 |                                                                    method);
      |                                                                    ~~~~~~~
RangeTree.h:1068:31: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<RangeTree::Point<double, int> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
 1068 |             for (int i = 0; i < points.size(); i++) {
      |                             ~~^~~~~~~~~~~~~~~
RangeTree.h: In instantiation of ‘std::vector<RangeTree::Point<T, S>*> RangeTree::RangeTree<T, S>::getRawPointers(std::vector<std::shared_ptr<RangeTree::Point<T, S> > >&) [with T = double; S = int]’:
RangeTree.h:1127:75:   required from ‘RangeTree::RangeTree<T, S>::RangeTree(const std::vector<RangeTree::Point<T, S> >&) [with T = double; S = int]’
 1127 |                                                            savedPointsRaw(getRawPointers(savedPoints)) {
      |                                                                           ^~~~~~~~~~~~~~
distance.h:43:13:   required from ‘std::vector<RangeTree::RangeTree<double, int> > buildRangeTrees(const MatrixT&, std::size_t, std::size_t, const std::vector<long unsigned int>&) [with MatrixT = RcppParallel::RMatrix<double>; std::size_t = long unsigned int]’
   43 |     return {RTree(pts1), RTree(pts2)};
      |             ^~~~~~~~~~~
ff_internal_functions.cpp:89:60:   required from ‘long int testStatistic(const MatrixT&, std::size_t, std::size_t, const std::vector<long unsigned int>&, char) [with MatrixT = RcppParallel::RMatrix<double>; std::size_t = long unsigned int]’
   89 |         std::vector<RTree> trees = buildRangeTrees<MatrixT>(M, n1, n2, s);
      |                                    ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
ff_internal_functions.cpp:331:67:   required from here
  331 |             long z = testStatistic<RcppParallel::RMatrix<double> >(S, r1, r2, shuffle,
      |                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
  332 |                                                                    method);
      |                                                                    ~~~~~~~
RangeTree.h:1076:31: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<std::shared_ptr<RangeTree::Point<double, int> >, std::allocator<std::shared_ptr<RangeTree::Point<double, int> > > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
 1076 |             for (int i = 0; i < points.size(); i++) {
      |                             ~~^~~~~~~~~~~~~~~
RangeTree.h: In instantiation of ‘RangeTree::SortedPointMatrix<T, S>::SortedPointMatrix(std::vector<RangeTree::Point<T, S>*>&) [with T = double; S = int]’:
RangeTree.h:1128:36:   required from ‘RangeTree::RangeTree<T, S>::RangeTree(const std::vector<RangeTree::Point<T, S> >&) [with T = double; S = int]’
 1128 |             SortedPointMatrix<T,S> spm(savedPointsRaw);
      |                                    ^~~
distance.h:43:13:   required from ‘std::vector<RangeTree::RangeTree<double, int> > buildRangeTrees(const MatrixT&, std::size_t, std::size_t, const std::vector<long unsigned int>&) [with MatrixT = RcppParallel::RMatrix<double>; std::size_t = long unsigned int]’
   43 |     return {RTree(pts1), RTree(pts2)};
      |             ^~~~~~~~~~~
ff_internal_functions.cpp:89:60:   required from ‘long int testStatistic(const MatrixT&, std::size_t, std::size_t, const std::vector<long unsigned int>&, char) [with MatrixT = RcppParallel::RMatrix<double>; std::size_t = long unsigned int]’
   89 |         std::vector<RTree> trees = buildRangeTrees<MatrixT>(M, n1, n2, s);
      |                                    ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
ff_internal_functions.cpp:331:67:   required from here
  331 |             long z = testStatistic<RcppParallel::RMatrix<double> >(S, r1, r2, shuffle,
      |                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
  332 |                                                                    method);
      |                                                                    ~~~~~~~
RangeTree.h:344:35: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<RangeTree::Point<double, int>*, std::allocator<RangeTree::Point<double, int>*> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
  344 |                 for (int i = 1; i < points.size(); i++) {
      |                                 ~~^~~~~~~~~~~~~~~
RangeTree.h:345:42: warning: comparison of integer expressions of different signedness: ‘long unsigned int’ and ‘int’ [-Wsign-compare]
  345 |                     if (points[i]->dim() != dim) {
      |                         ~~~~~~~~~~~~~~~~~^~~~~~
RangeTree.h:360:35: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<RangeTree::Point<double, int>*, std::allocator<RangeTree::Point<double, int>*> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
  360 |                 for (int i = 1; i < points.size(); i++) {
      |                                 ~~^~~~~~~~~~~~~~~
RangeTree.h: In instantiation of ‘RangeTree::RangeTreeNode<T, S>::RangeTreeNode(RangeTree::SortedPointMatrix<T, S>&, bool, bool) [with T = double; S = int]’:
RangeTree.h:1129:57:   required from ‘RangeTree::RangeTree<T, S>::RangeTree(const std::vector<RangeTree::Point<T, S> >&) [with T = double; S = int]’
 1129 |             root = std::shared_ptr<RangeTreeNode<T,S> >(new RangeTreeNode<T,S>(spm));
      |                                                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~
distance.h:43:13:   required from ‘std::vector<RangeTree::RangeTree<double, int> > buildRangeTrees(const MatrixT&, std::size_t, std::size_t, const std::vector<long unsigned int>&) [with MatrixT = RcppParallel::RMatrix<double>; std::size_t = long unsigned int]’
   43 |     return {RTree(pts1), RTree(pts2)};
      |             ^~~~~~~~~~~
ff_internal_functions.cpp:89:60:   required from ‘long int testStatistic(const MatrixT&, std::size_t, std::size_t, const std::vector<long unsigned int>&, char) [with MatrixT = RcppParallel::RMatrix<double>; std::size_t = long unsigned int]’
   89 |         std::vector<RTree> trees = buildRangeTrees<MatrixT>(M, n1, n2, s);
      |                                    ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
ff_internal_functions.cpp:331:67:   required from here
  331 |             long z = testStatistic<RcppParallel::RMatrix<double> >(S, r1, r2, shuffle,
      |                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
  332 |                                                                    method);
      |                                                                    ~~~~~~~
RangeTree.h:529:41: warning: comparison of integer expressions of different signedness: ‘int’ and ‘long unsigned int’ [-Wsign-compare]
  529 |                 if (spm.getCurrentDim() == point->dim() - 2) {
      |                     ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
RangeTree.h:546:39: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<RangeTree::Point<double, int>*, std::allocator<RangeTree::Point<double, int>*> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
  546 |                     for (int i = 0; i < allPointsSorted.size(); i++) {
      |                                     ~~^~~~~~~~~~~~~~~~~~~~~~~~
RangeTree.h:557:84: warning: comparison of integer expressions of different signedness: ‘int’ and ‘long unsigned int’ [-Wsign-compare]
  557 |                 }  else if (!onLeftEdge && !onRightEdge && spm.getCurrentDim() + 1 != point->dim()) {
      |                                                            ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
RangeTree.h: In instantiation of ‘bool RangeTree::PointOrdering<T, S>::less(const RangeTree::Point<T, S>&, const RangeTree::Point<T, S>&) const [with T = double; S = int]’:
RangeTree.h:355:56:   required from ‘RangeTree::SortedPointMatrix<T, S>::SortedPointMatrix(std::vector<RangeTree::Point<T, S>*>&) [with T = double; S = int]’
  355 |                               return pointOrdering.less(*p1, *p2);
      |                                      ~~~~~~~~~~~~~~~~~~^~~~~~~~~~
RangeTree.h:1128:36:   required from ‘RangeTree::RangeTree<T, S>::RangeTree(const std::vector<RangeTree::Point<T, S> >&) [with T = double; S = int]’
 1128 |             SortedPointMatrix<T,S> spm(savedPointsRaw);
      |                                    ^~~
distance.h:43:13:   required from ‘std::vector<RangeTree::RangeTree<double, int> > buildRangeTrees(const MatrixT&, std::size_t, std::size_t, const std::vector<long unsigned int>&) [with MatrixT = RcppParallel::RMatrix<double>; std::size_t = long unsigned int]’
   43 |     return {RTree(pts1), RTree(pts2)};
      |             ^~~~~~~~~~~
ff_internal_functions.cpp:89:60:   required from ‘long int testStatistic(const MatrixT&, std::size_t, std::size_t, const std::vector<long unsigned int>&, char) [with MatrixT = RcppParallel::RMatrix<double>; std::size_t = long unsigned int]’
   89 |         std::vector<RTree> trees = buildRangeTrees<MatrixT>(M, n1, n2, s);
      |                                    ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
ff_internal_functions.cpp:331:67:   required from here
  331 |             long z = testStatistic<RcppParallel::RMatrix<double> >(S, r1, r2, shuffle,
      |                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
  332 |                                                                    method);
      |                                                                    ~~~~~~~
RangeTree.h:253:35: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘long unsigned int’ [-Wsign-compare]
  253 |             if (compareStartIndex >= p1.dim()) {
      |                 ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
RangeTree.h:256:47: warning: comparison of integer expressions of different signedness: ‘int’ and ‘long unsigned int’ [-Wsign-compare]
  256 |             for (int i = compareStartIndex; i < p1.dim(); i++) {
      |                                             ~~^~~~~~~~~~
RangeTree.h: In instantiation of ‘std::vector<int> RangeTree::SortedPointMatrix<T, S>::sortOrder(const std::vector<RangeTree::Point<T, S>*>&, int) [with T = double; S = int]’:
RangeTree.h:374:50:   required from ‘RangeTree::SortedPointMatrix<T, S>::SortedPointMatrix(std::vector<RangeTree::Point<T, S>*>&) [with T = double; S = int]’
  374 |                         std::vector<int> order = sortOrder(pointsSortedByCurrentDim, i);
      |                                                  ^~~~~~~~~
RangeTree.h:1128:36:   required from ‘RangeTree::RangeTree<T, S>::RangeTree(const std::vector<RangeTree::Point<T, S> >&) [with T = double; S = int]’
 1128 |             SortedPointMatrix<T,S> spm(savedPointsRaw);
      |                                    ^~~
distance.h:43:13:   required from ‘std::vector<RangeTree::RangeTree<double, int> > buildRangeTrees(const MatrixT&, std::size_t, std::size_t, const std::vector<long unsigned int>&) [with MatrixT = RcppParallel::RMatrix<double>; std::size_t = long unsigned int]’
   43 |     return {RTree(pts1), RTree(pts2)};
      |             ^~~~~~~~~~~
ff_internal_functions.cpp:89:60:   required from ‘long int testStatistic(const MatrixT&, std::size_t, std::size_t, const std::vector<long unsigned int>&, char) [with MatrixT = RcppParallel::RMatrix<double>; std::size_t = long unsigned int]’
   89 |         std::vector<RTree> trees = buildRangeTrees<MatrixT>(M, n1, n2, s);
      |                                    ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
ff_internal_functions.cpp:331:67:   required from here
  331 |             long z = testStatistic<RcppParallel::RMatrix<double> >(S, r1, r2, shuffle,
      |                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
  332 |                                                                    method);
      |                                                                    ~~~~~~~
RangeTree.h:305:31: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<RangeTree::Point<double, int>*, std::allocator<RangeTree::Point<double, int>*> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
  305 |             for (int i = 0; i < points.size(); i++) { order[i] = i; }
      |                             ~~^~~~~~~~~~~~~~~
RangeTree.h: In instantiation of ‘void RangeTree::SortedPointMatrix<T, S>::rearrangeGivenOrder(std::vector<RangeTree::Point<T, S>*>&, const std::vector<int>&) [with T = double; S = int]’:
RangeTree.h:376:25:   required from ‘RangeTree::SortedPointMatrix<T, S>::SortedPointMatrix(std::vector<RangeTree::Point<T, S>*>&) [with T = double; S = int]’
  376 |                         rearrangeGivenOrder(pointsSortedByCurrentDim, order);
      |                         ^~~~~~~~~~~~~~~~~~~
RangeTree.h:1128:36:   required from ‘RangeTree::RangeTree<T, S>::RangeTree(const std::vector<RangeTree::Point<T, S> >&) [with T = double; S = int]’
 1128 |             SortedPointMatrix<T,S> spm(savedPointsRaw);
      |                                    ^~~
distance.h:43:13:   required from ‘std::vector<RangeTree::RangeTree<double, int> > buildRangeTrees(const MatrixT&, std::size_t, std::size_t, const std::vector<long unsigned int>&) [with MatrixT = RcppParallel::RMatrix<double>; std::size_t = long unsigned int]’
   43 |     return {RTree(pts1), RTree(pts2)};
      |             ^~~~~~~~~~~
ff_internal_functions.cpp:89:60:   required from ‘long int testStatistic(const MatrixT&, std::size_t, std::size_t, const std::vector<long unsigned int>&, char) [with MatrixT = RcppParallel::RMatrix<double>; std::size_t = long unsigned int]’
   89 |         std::vector<RTree> trees = buildRangeTrees<MatrixT>(M, n1, n2, s);
      |                                    ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
ff_internal_functions.cpp:331:67:   required from here
  331 |             long z = testStatistic<RcppParallel::RMatrix<double> >(S, r1, r2, shuffle,
      |                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
  332 |                                                                    method);
      |                                                                    ~~~~~~~
RangeTree.h:325:31: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<RangeTree::Point<double, int>*, std::allocator<RangeTree::Point<double, int>*> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
  325 |             for (int i = 0; i < points.size(); i++) {
      |                             ~~^~~~~~~~~~~~~~~
RangeTree.h: In instantiation of ‘void RangeTree::SortedPointMatrix<T, S>::moveToNextDimension() [with T = double; S = int]’:
RangeTree.h:530:44:   required from ‘RangeTree::RangeTreeNode<T, S>::RangeTreeNode(RangeTree::SortedPointMatrix<T, S>&, bool, bool) [with T = double; S = int]’
  530 |                     spm.moveToNextDimension();
      |                     ~~~~~~~~~~~~~~~~~~~~~~~^~
RangeTree.h:1129:57:   required from ‘RangeTree::RangeTree<T, S>::RangeTree(const std::vector<RangeTree::Point<T, S> >&) [with T = double; S = int]’
 1129 |             root = std::shared_ptr<RangeTreeNode<T,S> >(new RangeTreeNode<T,S>(spm));
      |                                                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~
distance.h:43:13:   required from ‘std::vector<RangeTree::RangeTree<double, int> > buildRangeTrees(const MatrixT&, std::size_t, std::size_t, const std::vector<long unsigned int>&) [with MatrixT = RcppParallel::RMatrix<double>; std::size_t = long unsigned int]’
   43 |     return {RTree(pts1), RTree(pts2)};
      |             ^~~~~~~~~~~
ff_internal_functions.cpp:89:60:   required from ‘long int testStatistic(const MatrixT&, std::size_t, std::size_t, const std::vector<long unsigned int>&, char) [with MatrixT = RcppParallel::RMatrix<double>; std::size_t = long unsigned int]’
   89 |         std::vector<RTree> trees = buildRangeTrees<MatrixT>(M, n1, n2, s);
      |                                    ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
ff_internal_functions.cpp:331:67:   required from here
  331 |             long z = testStatistic<RcppParallel::RMatrix<double> >(S, r1, r2, shuffle,
      |                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
  332 |                                                                    method);
      |                                                                    ~~~~~~~
RangeTree.h:389:35: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<RangeTree::Point<double, int>*, std::allocator<RangeTree::Point<double, int>*> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
  389 |                 for (int i = 0; i < pointsSortedByCurrentDim.size(); i++) {
      |                                 ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
RangeTree.h: In instantiation of ‘std::pair<RangeTree::SortedPointMatrix<T, S>, RangeTree::SortedPointMatrix<T, S> > RangeTree::SortedPointMatrix<T, S>::splitOnMid() [with T = double; S = int]’:
RangeTree.h:533:46:   required from ‘RangeTree::RangeTreeNode<T, S>::RangeTreeNode(RangeTree::SortedPointMatrix<T, S>&, bool, bool) [with T = double; S = int]’
  533 |                 auto spmPair = spm.splitOnMid();
      |                                ~~~~~~~~~~~~~~^~
RangeTree.h:1129:57:   required from ‘RangeTree::RangeTree<T, S>::RangeTree(const std::vector<RangeTree::Point<T, S> >&) [with T = double; S = int]’
 1129 |             root = std::shared_ptr<RangeTreeNode<T,S> >(new RangeTreeNode<T,S>(spm));
      |                                                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~
distance.h:43:13:   required from ‘std::vector<RangeTree::RangeTree<double, int> > buildRangeTrees(const MatrixT&, std::size_t, std::size_t, const std::vector<long unsigned int>&) [with MatrixT = RcppParallel::RMatrix<double>; std::size_t = long unsigned int]’
   43 |     return {RTree(pts1), RTree(pts2)};
      |             ^~~~~~~~~~~
ff_internal_functions.cpp:89:60:   required from ‘long int testStatistic(const MatrixT&, std::size_t, std::size_t, const std::vector<long unsigned int>&, char) [with MatrixT = RcppParallel::RMatrix<double>; std::size_t = long unsigned int]’
   89 |         std::vector<RTree> trees = buildRangeTrees<MatrixT>(M, n1, n2, s);
      |                                    ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
ff_internal_functions.cpp:331:67:   required from here
  331 |             long z = testStatistic<RcppParallel::RMatrix<double> >(S, r1, r2, shuffle,
      |                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
  332 |                                                                    method);
      |                                                                    ~~~~~~~
RangeTree.h:448:35: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::deque<std::vector<int> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
  448 |                 for (int i = 0; i < redirectionTable.size(); i++) {
      |                                 ~~^~~~~~~~~~~~~~~~~~~~~~~~~
RangeTree.h: In instantiation of ‘std::vector<int> RangeTree::RangeTreeNode<T, S>::createGeqPointers(const std::vector<T>&, const std::vector<T>&) [with T = double; S = int]’:
RangeTree.h:553:40:   required from ‘RangeTree::RangeTreeNode<T, S>::RangeTreeNode(RangeTree::SortedPointMatrix<T, S>&, bool, bool) [with T = double; S = int]’
  553 |                     pointerToGeqLeft = createGeqPointers(pointsLastDimSorted, leftSorted);
      |                                        ^~~~~~~~~~~~~~~~~
RangeTree.h:1129:57:   required from ‘RangeTree::RangeTree<T, S>::RangeTree(const std::vector<RangeTree::Point<T, S> >&) [with T = double; S = int]’
 1129 |             root = std::shared_ptr<RangeTreeNode<T,S> >(new RangeTreeNode<T,S>(spm));
      |                                                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~
distance.h:43:13:   required from ‘std::vector<RangeTree::RangeTree<double, int> > buildRangeTrees(const MatrixT&, std::size_t, std::size_t, const std::vector<long unsigned int>&) [with MatrixT = RcppParallel::RMatrix<double>; std::size_t = long unsigned int]’
   43 |     return {RTree(pts1), RTree(pts2)};
      |             ^~~~~~~~~~~
ff_internal_functions.cpp:89:60:   required from ‘long int testStatistic(const MatrixT&, std::size_t, std::size_t, const std::vector<long unsigned int>&, char) [with MatrixT = RcppParallel::RMatrix<double>; std::size_t = long unsigned int]’
   89 |         std::vector<RTree> trees = buildRangeTrees<MatrixT>(M, n1, n2, s);
      |                                    ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
ff_internal_functions.cpp:331:67:   required from here
  331 |             long z = testStatistic<RcppParallel::RMatrix<double> >(S, r1, r2, shuffle,
      |                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
  332 |                                                                    method);
      |                                                                    ~~~~~~~
RangeTree.h:569:31: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<double>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
  569 |             for (int i = 0; i < vec.size(); i++) {
      |                             ~~^~~~~~~~~~~~
RangeTree.h:570:26: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<double>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
  570 |                 while (k < subVec.size() && subVec[k] < vec[i]) {
      |                        ~~^~~~~~~~~~~~~~~
g++-14 -std=gnu++17 -shared -L/home/hornik/tmp/R.check/r-patched-gcc/Work/build/lib -Wl,-O1 -o fasano.franceschini.test.so ProgressBar.o RcppExports.o ff_internal_functions.o -L/home/hornik/tmp/R.check/r-patched-gcc/Work/build/lib -lR
make[1]: Leaving directory '/home/hornik/tmp/scratch/RtmplMgqkJ/R.INSTALL15cefa7bcfe863/fasano.franceschini.test/src'
make[1]: Entering directory '/home/hornik/tmp/scratch/RtmplMgqkJ/R.INSTALL15cefa7bcfe863/fasano.franceschini.test/src'
make[1]: Leaving directory '/home/hornik/tmp/scratch/RtmplMgqkJ/R.INSTALL15cefa7bcfe863/fasano.franceschini.test/src'
installing to /home/hornik/tmp/R.check/r-patched-gcc/Work/build/Packages/00LOCK-fasano.franceschini.test/00new/fasano.franceschini.test/libs
** R
** inst
** byte-compile and prepare package for lazy loading
** help
*** installing help indices
  converting help for package ‘fasano.franceschini.test’
    finding HTML links ... done
    fasano.franceschini.test                html  
*** copying figures
** 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 (fasano.franceschini.test)