* installing to library ‘/home/hornik/tmp/R.check/r-release-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/RtmpbRlJK5/R.INSTALL1e3cf9190180b/fasano.franceschini.test/src' g++-14 -std=gnu++17 -I"/home/hornik/tmp/R.check/r-release-gcc/Work/build/include" -DNDEBUG -I'/home/hornik/tmp/R.check/r-release-gcc/Work/build/Packages/Rcpp/include' -I'/home/hornik/tmp/R.check/r-release-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-release-gcc/Work/build/include" -DNDEBUG -I'/home/hornik/tmp/R.check/r-release-gcc/Work/build/Packages/Rcpp/include' -I'/home/hornik/tmp/R.check/r-release-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-release-gcc/Work/build/include" -DNDEBUG -I'/home/hornik/tmp/R.check/r-release-gcc/Work/build/Packages/Rcpp/include' -I'/home/hornik/tmp/R.check/r-release-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-release-gcc/Work/build/Packages/RcppParallel/include/tbb/tbb.h:32, from /home/hornik/tmp/R.check/r-release-gcc/Work/build/Packages/RcppParallel/include/RcppParallel/TBB.h:10, from /home/hornik/tmp/R.check/r-release-gcc/Work/build/Packages/RcppParallel/include/RcppParallel.h:24, from ff_internal_functions.cpp:2: /home/hornik/tmp/R.check/r-release-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-release-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-release-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-release-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-release-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-release-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-release-gcc/Work/build/Packages/RcppParallel/include/RcppParallel/TinyThread.h:7, from /home/hornik/tmp/R.check/r-release-gcc/Work/build/Packages/RcppParallel/include/RcppParallel.h:6: /home/hornik/tmp/R.check/r-release-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-release-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-release-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-release-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-release-gcc/Work/build/lib -lR make[1]: Leaving directory '/home/hornik/tmp/scratch/RtmpbRlJK5/R.INSTALL1e3cf9190180b/fasano.franceschini.test/src' make[1]: Entering directory '/home/hornik/tmp/scratch/RtmpbRlJK5/R.INSTALL1e3cf9190180b/fasano.franceschini.test/src' make[1]: Leaving directory '/home/hornik/tmp/scratch/RtmpbRlJK5/R.INSTALL1e3cf9190180b/fasano.franceschini.test/src' installing to /home/hornik/tmp/R.check/r-release-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 *** 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)