* installing *source* package ‘RPatternJoin’ ...
** package ‘RPatternJoin’ successfully unpacked and MD5 sums checked
** using staged installation
** libs
using C++ compiler: ‘g++-14 (GCC) 14.2.0’
make[1]: Entering directory '/data/gannet/ripley/R/packages/tests-devel/RPatternJoin/src'
g++-14 -std=gnu++17 -I"/data/gannet/ripley/R/R-devel/include" -DNDEBUG  -I'/data/gannet/ripley/R/test-dev/Rcpp/include' -I'/data/gannet/ripley/R/test-dev/RcppArmadillo/include' -I/usr/local/include -DC99_INLINE_SEMANTICS=0  -DARMA_64BIT_WORD -fpic  -g -O2 -Wall -pedantic -mtune=native -Wno-ignored-attributes -Wno-parentheses -Wp,-D_FORTIFY_SOURCE=3 -fexceptions -fstack-protector-strong -fstack-clash-protection -fcf-protection  -DR_NO_REMAP -c RcppExports.cpp -o RcppExports.o
g++-14 -std=gnu++17 -I"/data/gannet/ripley/R/R-devel/include" -DNDEBUG  -I'/data/gannet/ripley/R/test-dev/Rcpp/include' -I'/data/gannet/ripley/R/test-dev/RcppArmadillo/include' -I/usr/local/include -DC99_INLINE_SEMANTICS=0  -DARMA_64BIT_WORD -fpic  -g -O2 -Wall -pedantic -mtune=native -Wno-ignored-attributes -Wno-parentheses -Wp,-D_FORTIFY_SOURCE=3 -fexceptions -fstack-protector-strong -fstack-clash-protection -fcf-protection  -DR_NO_REMAP -c bounded_edit_distance.cpp -o bounded_edit_distance.o
bounded_edit_distance.cpp: In function 'bool edit_distance_k(std::string, std::string, int)':
bounded_edit_distance.cpp:14:29: warning: comparison of integer expressions of different signedness: 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   14 |     if (b.size() - a.size() > k)
      |         ~~~~~~~~~~~~~~~~~~~~^~~
g++-14 -std=gnu++17 -I"/data/gannet/ripley/R/R-devel/include" -DNDEBUG  -I'/data/gannet/ripley/R/test-dev/Rcpp/include' -I'/data/gannet/ripley/R/test-dev/RcppArmadillo/include' -I/usr/local/include -DC99_INLINE_SEMANTICS=0  -DARMA_64BIT_WORD -fpic  -g -O2 -Wall -pedantic -mtune=native -Wno-ignored-attributes -Wno-parentheses -Wp,-D_FORTIFY_SOURCE=3 -fexceptions -fstack-protector-strong -fstack-clash-protection -fcf-protection  -DR_NO_REMAP -c file_io.cpp -o file_io.o
file_io.cpp: In function 'void readFile(const std::string&, std::vector<std::__cxx11::basic_string<char> >&, str2int&, bool, str2ints&)':
file_io.cpp:26:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::__cxx11::basic_string<char> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   26 |   for (int i = 0; i < strings.size(); i++)
      |                   ~~^~~~~~~~~~~~~~~~
file_io.cpp:30:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::__cxx11::basic_string<char> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   30 |     for (int i = 0; i < strings.size(); i++)
      |                     ~~^~~~~~~~~~~~~~~~
g++-14 -std=gnu++17 -I"/data/gannet/ripley/R/R-devel/include" -DNDEBUG  -I'/data/gannet/ripley/R/test-dev/Rcpp/include' -I'/data/gannet/ripley/R/test-dev/RcppArmadillo/include' -I/usr/local/include -DC99_INLINE_SEMANTICS=0  -DARMA_64BIT_WORD -fpic  -g -O2 -Wall -pedantic -mtune=native -Wno-ignored-attributes -Wno-parentheses -Wp,-D_FORTIFY_SOURCE=3 -fexceptions -fstack-protector-strong -fstack-clash-protection -fcf-protection  -DR_NO_REMAP -c main.cpp -o main.o
g++-14 -std=gnu++17 -I"/data/gannet/ripley/R/R-devel/include" -DNDEBUG  -I'/data/gannet/ripley/R/test-dev/Rcpp/include' -I'/data/gannet/ripley/R/test-dev/RcppArmadillo/include' -I/usr/local/include -DC99_INLINE_SEMANTICS=0  -DARMA_64BIT_WORD -fpic  -g -O2 -Wall -pedantic -mtune=native -Wno-ignored-attributes -Wno-parentheses -Wp,-D_FORTIFY_SOURCE=3 -fexceptions -fstack-protector-strong -fstack-clash-protection -fcf-protection  -DR_NO_REMAP -c patterns_generators.cpp -o patterns_generators.o
g++-14 -std=gnu++17 -I"/data/gannet/ripley/R/R-devel/include" -DNDEBUG  -I'/data/gannet/ripley/R/test-dev/Rcpp/include' -I'/data/gannet/ripley/R/test-dev/RcppArmadillo/include' -I/usr/local/include -DC99_INLINE_SEMANTICS=0  -DARMA_64BIT_WORD -fpic  -g -O2 -Wall -pedantic -mtune=native -Wno-ignored-attributes -Wno-parentheses -Wp,-D_FORTIFY_SOURCE=3 -fexceptions -fstack-protector-strong -fstack-clash-protection -fcf-protection  -DR_NO_REMAP -c sim_search_part_patterns.cpp -o sim_search_part_patterns.o
g++-14 -std=gnu++17 -I"/data/gannet/ripley/R/R-devel/include" -DNDEBUG  -I'/data/gannet/ripley/R/test-dev/Rcpp/include' -I'/data/gannet/ripley/R/test-dev/RcppArmadillo/include' -I/usr/local/include -DC99_INLINE_SEMANTICS=0  -DARMA_64BIT_WORD -fpic  -g -O2 -Wall -pedantic -mtune=native -Wno-ignored-attributes -Wno-parentheses -Wp,-D_FORTIFY_SOURCE=3 -fexceptions -fstack-protector-strong -fstack-clash-protection -fcf-protection  -DR_NO_REMAP -c sim_search_patterns.cpp -o sim_search_patterns.o
g++-14 -std=gnu++17 -I"/data/gannet/ripley/R/R-devel/include" -DNDEBUG  -I'/data/gannet/ripley/R/test-dev/Rcpp/include' -I'/data/gannet/ripley/R/test-dev/RcppArmadillo/include' -I/usr/local/include -DC99_INLINE_SEMANTICS=0  -DARMA_64BIT_WORD -fpic  -g -O2 -Wall -pedantic -mtune=native -Wno-ignored-attributes -Wno-parentheses -Wp,-D_FORTIFY_SOURCE=3 -fexceptions -fstack-protector-strong -fstack-clash-protection -fcf-protection  -DR_NO_REMAP -c sim_search_semi_patterns.cpp -o sim_search_semi_patterns.o
In file included from include/map_patterns.hpp:8,
                 from include/sim_search_part_patterns.hpp:6,
                 from sim_search_part_patterns.cpp:1:
include/trim_strings.hpp: In function 'std::string trimMidLev(const std::string&, const std::string&)':
include/trim_strings.hpp:42:16: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   42 |   if (part_len == substr.size()) {
      |       ~~~~~~~~~^~~~~~~~~~~~~~~~
include/trim_strings.hpp: In function 'std::string trimMidHam(const std::string&, const std::string&)':
include/trim_strings.hpp:74:16: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   74 |   if (part_len == substr.size()) {
      |       ~~~~~~~~~^~~~~~~~~~~~~~~~
In file included from include/map_patterns.hpp:8,
                 from include/sim_search_semi_patterns.hpp:6,
                 from sim_search_semi_patterns.cpp:1:
include/trim_strings.hpp: In function 'std::string trimMidLev(const std::string&, const std::string&)':
include/trim_strings.hpp:42:16: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   42 |   if (part_len == substr.size()) {
      |       ~~~~~~~~~^~~~~~~~~~~~~~~~
include/trim_strings.hpp: In function 'std::string trimMidHam(const std::string&, const std::string&)':
include/trim_strings.hpp:74:16: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   74 |   if (part_len == substr.size()) {
      |       ~~~~~~~~~^~~~~~~~~~~~~~~~
In file included from include/map_patterns.hpp:8,
                 from include/sim_search_patterns.hpp:6,
                 from sim_search_patterns.cpp:1:
include/trim_strings.hpp: In function 'std::string trimMidLev(const std::string&, const std::string&)':
include/trim_strings.hpp:42:16: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   42 |   if (part_len == substr.size()) {
      |       ~~~~~~~~~^~~~~~~~~~~~~~~~
include/trim_strings.hpp: In function 'std::string trimMidHam(const std::string&, const std::string&)':
include/trim_strings.hpp:74:16: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   74 |   if (part_len == substr.size()) {
      |       ~~~~~~~~~^~~~~~~~~~~~~~~~
In file included from include/map_patterns.hpp:8,
                 from include/sim_search_patterns.hpp:6,
                 from main.cpp:6:
include/trim_strings.hpp: In function 'std::string trimMidLev(const std::string&, const std::string&)':
include/trim_strings.hpp:42:16: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   42 |   if (part_len == substr.size()) {
      |       ~~~~~~~~~^~~~~~~~~~~~~~~~
include/trim_strings.hpp: In function 'std::string trimMidHam(const std::string&, const std::string&)':
include/trim_strings.hpp:74:16: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   74 |   if (part_len == substr.size()) {
      |       ~~~~~~~~~^~~~~~~~~~~~~~~~
main.cpp: In function 'void dropDegreeOne(arma::sp_umat&, std::vector<int, std::allocator<int> >&)':
main.cpp:50:21: warning: comparison of integer expressions of different signedness: 'int' and 'const arma::uword' {aka 'const long long unsigned int'} [-Wsign-compare]
   50 |   for (int i = 0; i < _non_triv_ids.n_elem; i++)
      |                   ~~^~~~~~~~~~~~~~~~~~~~~~
sim_search_patterns.cpp: In function 'void sim_search_patterns(const std::vector<std::__cxx11::basic_string<char> >&, int, char, str2int&, int_pair_set&, ints*, bool)':
sim_search_patterns.cpp:31:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::__cxx11::basic_string<char> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   31 |     for (int i = 0; i < strings.size(); i++)
      |                     ~~^~~~~~~~~~~~~~~~
sim_search_part_patterns.cpp: In function 'void sim_search_2parts(const std::vector<std::__cxx11::basic_string<char> >&, char, str2int&, int_pair_set&, bool, int)':
sim_search_part_patterns.cpp:17:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::__cxx11::basic_string<char> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   17 |     for (int i = 0; i < strings.size(); i++) {
      |                     ~~^~~~~~~~~~~~~~~~
sim_search_part_patterns.cpp:30:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::__cxx11::basic_string<char> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   30 |     for (int i = 0; i < strings.size(); i++) {
      |                     ~~^~~~~~~~~~~~~~~~
sim_search_part_patterns.cpp:50:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::__cxx11::basic_string<char> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   50 |     for (int i = 0; i < strings.size(); i++)
      |                     ~~^~~~~~~~~~~~~~~~
sim_search_part_patterns.cpp: In function 'void sim_search_3parts(const std::vector<std::__cxx11::basic_string<char> >&, char, str2int&, int_pair_set&, bool, int)':
sim_search_part_patterns.cpp:67:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::__cxx11::basic_string<char> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   67 |     for (int i = 0; i < strings.size(); i++) {
      |                     ~~^~~~~~~~~~~~~~~~
sim_search_part_patterns.cpp:97:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::__cxx11::basic_string<char> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   97 |     for (int i = 0; i < strings.size(); i++) {
      |                     ~~^~~~~~~~~~~~~~~~
sim_search_part_patterns.cpp:128:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::__cxx11::basic_string<char> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  128 |     for (int i = 0; i < strings.size(); i++)
      |                     ~~^~~~~~~~~~~~~~~~
include/sim_search_part_patterns.hpp: In instantiation of 'void check_part(const std::vector<std::__cxx11::basic_string<char> >&, int, char, str2int&, str2ints&, int_pair_set&) [with TrimDirection trim_direction = TrimDirection::Start; str2int = ankerl::unordered_dense::v4_4_0::detail::table<std::__cxx11::basic_string<char>, int, ankerl::unordered_dense::v4_4_0::hash<std::__cxx11::basic_string<char>, void>, std::equal_to<std::__cxx11::basic_string<char> >, std::allocator<std::pair<std::__cxx11::basic_string<char>, int> >, ankerl::unordered_dense::v4_4_0::bucket_type::standard, false>; str2ints = ankerl::unordered_dense::v4_4_0::detail::table<std::__cxx11::basic_string<char>, gch::small_vector<int>, ankerl::unordered_dense::v4_4_0::hash<std::__cxx11::basic_string<char>, void>, std::equal_to<std::__cxx11::basic_string<char> >, std::allocator<std::pair<std::__cxx11::basic_string<char>, gch::small_vector<int> > >, ankerl::unordered_dense::v4_4_0::bucket_type::standard, false>; int_pair_set = ankerl::unordered_dense::v4_4_0::detail::table<std::pair<int, int>, void, ankerl::unordered_dense::v4_4_0::hash<std::pair<int, int>, void>, std::equal_to<std::pair<int, int> >, std::allocator<std::pair<int, int> >, ankerl::unordered_dense::v4_4_0::bucket_type::standard, false>]':
sim_search_part_patterns.cpp:46:35:   required from here
   46 |   check_part<TrimDirection::Start>(strings, cutoff, metric, str2idx, start2idxs, out);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/sim_search_part_patterns.hpp:65:27: warning: comparison of integer expressions of different signedness: 'int' and 'gch::small_vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   65 |         for (int i = 0; i < string_indeces->size(); i++)
      |                         ~~^~~~~~~~~~~~~~~~~~~~~~~~
include/sim_search_part_patterns.hpp:68:27: warning: comparison of integer expressions of different signedness: 'int' and 'gch::small_vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   68 |         for (int i = 0; i < string_indeces->size(); i++) {
      |                         ~~^~~~~~~~~~~~~~~~~~~~~~~~
include/sim_search_part_patterns.hpp:72:33: warning: comparison of integer expressions of different signedness: 'int' and 'gch::small_vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   72 |           for (int j = i + 1; j < string_indeces->size(); j++) {
      |                               ~~^~~~~~~~~~~~~~~~~~~~~~~~
include/sim_search_part_patterns.hpp: In instantiation of 'void check_part(const std::vector<std::__cxx11::basic_string<char> >&, int, char, str2int&, str2ints&, int_pair_set&) [with TrimDirection trim_direction = TrimDirection::End; str2int = ankerl::unordered_dense::v4_4_0::detail::table<std::__cxx11::basic_string<char>, int, ankerl::unordered_dense::v4_4_0::hash<std::__cxx11::basic_string<char>, void>, std::equal_to<std::__cxx11::basic_string<char> >, std::allocator<std::pair<std::__cxx11::basic_string<char>, int> >, ankerl::unordered_dense::v4_4_0::bucket_type::standard, false>; str2ints = ankerl::unordered_dense::v4_4_0::detail::table<std::__cxx11::basic_string<char>, gch::small_vector<int>, ankerl::unordered_dense::v4_4_0::hash<std::__cxx11::basic_string<char>, void>, std::equal_to<std::__cxx11::basic_string<char> >, std::allocator<std::pair<std::__cxx11::basic_string<char>, gch::small_vector<int> > >, ankerl::unordered_dense::v4_4_0::bucket_type::standard, false>; int_pair_set = ankerl::unordered_dense::v4_4_0::detail::table<std::pair<int, int>, void, ankerl::unordered_dense::v4_4_0::hash<std::pair<int, int>, void>, std::equal_to<std::pair<int, int> >, std::allocator<std::pair<int, int> >, ankerl::unordered_dense::v4_4_0::bucket_type::standard, false>]':
sim_search_part_patterns.cpp:47:33:   required from here
   47 |   check_part<TrimDirection::End>(strings, cutoff, metric, str2idx, end2idxs, out);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/sim_search_part_patterns.hpp:44:29: warning: comparison of integer expressions of different signedness: 'int' and 'gch::small_vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   44 |           for (int i = 0; i < string_indeces->size(); i++)
      |                           ~~^~~~~~~~~~~~~~~~~~~~~~~~
include/sim_search_part_patterns.hpp:47:27: warning: comparison of integer expressions of different signedness: 'int' and 'gch::small_vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   47 |         for (int i = 0; i < string_indeces->size(); i++) {
      |                         ~~^~~~~~~~~~~~~~~~~~~~~~~~
include/sim_search_semi_patterns.hpp: In instantiation of 'void sim_search_semi_patterns_impl(const std::vector<std::__cxx11::basic_string<char> >&, int, char, str2int&, int_pair_set&, ints*, bool, const std::string&) [with TrimDirection trim_direction = TrimDirection::No; str2int = ankerl::unordered_dense::v4_4_0::detail::table<std::__cxx11::basic_string<char>, int, ankerl::unordered_dense::v4_4_0::hash<std::__cxx11::basic_string<char>, void>, std::equal_to<std::__cxx11::basic_string<char> >, std::allocator<std::pair<std::__cxx11::basic_string<char>, int> >, ankerl::unordered_dense::v4_4_0::bucket_type::standard, false>; int_pair_set = ankerl::unordered_dense::v4_4_0::detail::table<std::pair<int, int>, void, ankerl::unordered_dense::v4_4_0::hash<std::pair<int, int>, void>, std::equal_to<std::pair<int, int> >, std::allocator<std::pair<int, int> >, ankerl::unordered_dense::v4_4_0::bucket_type::standard, false>; ints = gch::small_vector<int>; std::string = std::__cxx11::basic_string<char>]':
sim_search_semi_patterns.cpp:13:51:   required from here
   13 |   sim_search_semi_patterns_impl<TrimDirection::No>(strings, cutoff, metric, str2idx, out, nullptr, true);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/sim_search_semi_patterns.hpp:66:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::__cxx11::basic_string<char> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   66 |     for (int i = 0; i < strings.size(); i++)
      |                     ~~^~~~~~~~~~~~~~~~
include/sim_search_part_patterns.hpp:52:33: warning: comparison of integer expressions of different signedness: 'int' and 'gch::small_vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   52 |           for (int j = i + 1; j < string_indeces->size(); j++) {
      |                               ~~^~~~~~~~~~~~~~~~~~~~~~~~
include/sim_search_part_patterns.hpp:65:27: warning: comparison of integer expressions of different signedness: 'int' and 'gch::small_vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   65 |         for (int i = 0; i < string_indeces->size(); i++)
      |                         ~~^~~~~~~~~~~~~~~~~~~~~~~~
include/sim_search_part_patterns.hpp:68:27: warning: comparison of integer expressions of different signedness: 'int' and 'gch::small_vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   68 |         for (int i = 0; i < string_indeces->size(); i++) {
      |                         ~~^~~~~~~~~~~~~~~~~~~~~~~~
include/sim_search_part_patterns.hpp:72:33: warning: comparison of integer expressions of different signedness: 'int' and 'gch::small_vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   72 |           for (int j = i + 1; j < string_indeces->size(); j++) {
      |                               ~~^~~~~~~~~~~~~~~~~~~~~~~~
include/sim_search_part_patterns.hpp: In instantiation of 'void check_part(const std::vector<std::__cxx11::basic_string<char> >&, int, char, str2int&, str2ints&, int_pair_set&) [with TrimDirection trim_direction = TrimDirection::Mid; str2int = ankerl::unordered_dense::v4_4_0::detail::table<std::__cxx11::basic_string<char>, int, ankerl::unordered_dense::v4_4_0::hash<std::__cxx11::basic_string<char>, void>, std::equal_to<std::__cxx11::basic_string<char> >, std::allocator<std::pair<std::__cxx11::basic_string<char>, int> >, ankerl::unordered_dense::v4_4_0::bucket_type::standard, false>; str2ints = ankerl::unordered_dense::v4_4_0::detail::table<std::__cxx11::basic_string<char>, gch::small_vector<int>, ankerl::unordered_dense::v4_4_0::hash<std::__cxx11::basic_string<char>, void>, std::equal_to<std::__cxx11::basic_string<char> >, std::allocator<std::pair<std::__cxx11::basic_string<char>, gch::small_vector<int> > >, ankerl::unordered_dense::v4_4_0::bucket_type::standard, false>; int_pair_set = ankerl::unordered_dense::v4_4_0::detail::table<std::pair<int, int>, void, ankerl::unordered_dense::v4_4_0::hash<std::pair<int, int>, void>, std::equal_to<std::pair<int, int> >, std::allocator<std::pair<int, int> >, ankerl::unordered_dense::v4_4_0::bucket_type::standard, false>]':
sim_search_part_patterns.cpp:124:33:   required from here
  124 |   check_part<TrimDirection::Mid>(strings, cutoff, metric, str2idx, mid2idxs, out);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/sim_search_part_patterns.hpp:41:29: warning: comparison of integer expressions of different signedness: 'int' and 'gch::small_vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   41 |           for (int i = 0; i < string_indeces->size(); i++)
      |                           ~~^~~~~~~~~~~~~~~~~~~~~~~~
include/sim_search_part_patterns.hpp:47:27: warning: comparison of integer expressions of different signedness: 'int' and 'gch::small_vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   47 |         for (int i = 0; i < string_indeces->size(); i++) {
      |                         ~~^~~~~~~~~~~~~~~~~~~~~~~~
include/sim_search_part_patterns.hpp:52:33: warning: comparison of integer expressions of different signedness: 'int' and 'gch::small_vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   52 |           for (int j = i + 1; j < string_indeces->size(); j++) {
      |                               ~~^~~~~~~~~~~~~~~~~~~~~~~~
In file included from include/sim_search_part_patterns.hpp:8:
include/sim_search_semi_patterns.hpp: In instantiation of 'void sim_search_semi_patterns_impl(const std::vector<std::__cxx11::basic_string<char> >&, int, char, str2int&, int_pair_set&, ints*, bool, const std::string&) [with TrimDirection trim_direction = TrimDirection::Start; str2int = ankerl::unordered_dense::v4_4_0::detail::table<std::__cxx11::basic_string<char>, int, ankerl::unordered_dense::v4_4_0::hash<std::__cxx11::basic_string<char>, void>, std::equal_to<std::__cxx11::basic_string<char> >, std::allocator<std::pair<std::__cxx11::basic_string<char>, int> >, ankerl::unordered_dense::v4_4_0::bucket_type::standard, false>; int_pair_set = ankerl::unordered_dense::v4_4_0::detail::table<std::pair<int, int>, void, ankerl::unordered_dense::v4_4_0::hash<std::pair<int, int>, void>, std::equal_to<std::pair<int, int> >, std::allocator<std::pair<int, int> >, ankerl::unordered_dense::v4_4_0::bucket_type::standard, false>; ints = gch::small_vector<int>; std::string = std::__cxx11::basic_string<char>]':
include/sim_search_part_patterns.hpp:86:52:   required from 'void check_part(const std::vector<std::__cxx11::basic_string<char> >&, int, char, str2int&, str2ints&, int_pair_set&) [with TrimDirection trim_direction = TrimDirection::Start; str2int = ankerl::unordered_dense::v4_4_0::detail::table<std::__cxx11::basic_string<char>, int, ankerl::unordered_dense::v4_4_0::hash<std::__cxx11::basic_string<char>, void>, std::equal_to<std::__cxx11::basic_string<char> >, std::allocator<std::pair<std::__cxx11::basic_string<char>, int> >, ankerl::unordered_dense::v4_4_0::bucket_type::standard, false>; str2ints = ankerl::unordered_dense::v4_4_0::detail::table<std::__cxx11::basic_string<char>, gch::small_vector<int>, ankerl::unordered_dense::v4_4_0::hash<std::__cxx11::basic_string<char>, void>, std::equal_to<std::__cxx11::basic_string<char> >, std::allocator<std::pair<std::__cxx11::basic_string<char>, gch::small_vector<int> > >, ankerl::unordered_dense::v4_4_0::bucket_type::standard, false>; int_pair_set = ankerl::unordered_dense::v4_4_0::detail::table<std::pair<int, int>, void, ankerl::unordered_dense::v4_4_0::hash<std::pair<int, int>, void>, std::equal_to<std::pair<int, int> >, std::allocator<std::pair<int, int> >, ankerl::unordered_dense::v4_4_0::bucket_type::standard, false>]'
   86 |       sim_search_semi_patterns_impl<trim_direction>(
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
   87 |         strings, cutoff, metric, str2idx, out, &entry->second, false, entry->first);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sim_search_part_patterns.cpp:46:35:   required from here
   46 |   check_part<TrimDirection::Start>(strings, cutoff, metric, str2idx, start2idxs, out);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/sim_search_semi_patterns.hpp:66:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::__cxx11::basic_string<char> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   66 |     for (int i = 0; i < strings.size(); i++)
      |                     ~~^~~~~~~~~~~~~~~~
include/sim_search_semi_patterns.hpp: In instantiation of 'void sim_search_semi_patterns_impl(const std::vector<std::__cxx11::basic_string<char> >&, int, char, str2int&, int_pair_set&, ints*, bool, const std::string&) [with TrimDirection trim_direction = TrimDirection::End; str2int = ankerl::unordered_dense::v4_4_0::detail::table<std::__cxx11::basic_string<char>, int, ankerl::unordered_dense::v4_4_0::hash<std::__cxx11::basic_string<char>, void>, std::equal_to<std::__cxx11::basic_string<char> >, std::allocator<std::pair<std::__cxx11::basic_string<char>, int> >, ankerl::unordered_dense::v4_4_0::bucket_type::standard, false>; int_pair_set = ankerl::unordered_dense::v4_4_0::detail::table<std::pair<int, int>, void, ankerl::unordered_dense::v4_4_0::hash<std::pair<int, int>, void>, std::equal_to<std::pair<int, int> >, std::allocator<std::pair<int, int> >, ankerl::unordered_dense::v4_4_0::bucket_type::standard, false>; ints = gch::small_vector<int>; std::string = std::__cxx11::basic_string<char>]':
include/sim_search_part_patterns.hpp:86:52:   required from 'void check_part(const std::vector<std::__cxx11::basic_string<char> >&, int, char, str2int&, str2ints&, int_pair_set&) [with TrimDirection trim_direction = TrimDirection::End; str2int = ankerl::unordered_dense::v4_4_0::detail::table<std::__cxx11::basic_string<char>, int, ankerl::unordered_dense::v4_4_0::hash<std::__cxx11::basic_string<char>, void>, std::equal_to<std::__cxx11::basic_string<char> >, std::allocator<std::pair<std::__cxx11::basic_string<char>, int> >, ankerl::unordered_dense::v4_4_0::bucket_type::standard, false>; str2ints = ankerl::unordered_dense::v4_4_0::detail::table<std::__cxx11::basic_string<char>, gch::small_vector<int>, ankerl::unordered_dense::v4_4_0::hash<std::__cxx11::basic_string<char>, void>, std::equal_to<std::__cxx11::basic_string<char> >, std::allocator<std::pair<std::__cxx11::basic_string<char>, gch::small_vector<int> > >, ankerl::unordered_dense::v4_4_0::bucket_type::standard, false>; int_pair_set = ankerl::unordered_dense::v4_4_0::detail::table<std::pair<int, int>, void, ankerl::unordered_dense::v4_4_0::hash<std::pair<int, int>, void>, std::equal_to<std::pair<int, int> >, std::allocator<std::pair<int, int> >, ankerl::unordered_dense::v4_4_0::bucket_type::standard, false>]'
   86 |       sim_search_semi_patterns_impl<trim_direction>(
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
   87 |         strings, cutoff, metric, str2idx, out, &entry->second, false, entry->first);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sim_search_part_patterns.cpp:47:33:   required from here
   47 |   check_part<TrimDirection::End>(strings, cutoff, metric, str2idx, end2idxs, out);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/sim_search_semi_patterns.hpp:66:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::__cxx11::basic_string<char> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   66 |     for (int i = 0; i < strings.size(); i++)
      |                     ~~^~~~~~~~~~~~~~~~
include/sim_search_semi_patterns.hpp: In instantiation of 'void sim_search_semi_patterns_impl(const std::vector<std::__cxx11::basic_string<char> >&, int, char, str2int&, int_pair_set&, ints*, bool, const std::string&) [with TrimDirection trim_direction = TrimDirection::Mid; str2int = ankerl::unordered_dense::v4_4_0::detail::table<std::__cxx11::basic_string<char>, int, ankerl::unordered_dense::v4_4_0::hash<std::__cxx11::basic_string<char>, void>, std::equal_to<std::__cxx11::basic_string<char> >, std::allocator<std::pair<std::__cxx11::basic_string<char>, int> >, ankerl::unordered_dense::v4_4_0::bucket_type::standard, false>; int_pair_set = ankerl::unordered_dense::v4_4_0::detail::table<std::pair<int, int>, void, ankerl::unordered_dense::v4_4_0::hash<std::pair<int, int>, void>, std::equal_to<std::pair<int, int> >, std::allocator<std::pair<int, int> >, ankerl::unordered_dense::v4_4_0::bucket_type::standard, false>; ints = gch::small_vector<int>; std::string = std::__cxx11::basic_string<char>]':
include/sim_search_part_patterns.hpp:86:52:   required from 'void check_part(const std::vector<std::__cxx11::basic_string<char> >&, int, char, str2int&, str2ints&, int_pair_set&) [with TrimDirection trim_direction = TrimDirection::Mid; str2int = ankerl::unordered_dense::v4_4_0::detail::table<std::__cxx11::basic_string<char>, int, ankerl::unordered_dense::v4_4_0::hash<std::__cxx11::basic_string<char>, void>, std::equal_to<std::__cxx11::basic_string<char> >, std::allocator<std::pair<std::__cxx11::basic_string<char>, int> >, ankerl::unordered_dense::v4_4_0::bucket_type::standard, false>; str2ints = ankerl::unordered_dense::v4_4_0::detail::table<std::__cxx11::basic_string<char>, gch::small_vector<int>, ankerl::unordered_dense::v4_4_0::hash<std::__cxx11::basic_string<char>, void>, std::equal_to<std::__cxx11::basic_string<char> >, std::allocator<std::pair<std::__cxx11::basic_string<char>, gch::small_vector<int> > >, ankerl::unordered_dense::v4_4_0::bucket_type::standard, false>; int_pair_set = ankerl::unordered_dense::v4_4_0::detail::table<std::pair<int, int>, void, ankerl::unordered_dense::v4_4_0::hash<std::pair<int, int>, void>, std::equal_to<std::pair<int, int> >, std::allocator<std::pair<int, int> >, ankerl::unordered_dense::v4_4_0::bucket_type::standard, false>]'
   86 |       sim_search_semi_patterns_impl<trim_direction>(
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
   87 |         strings, cutoff, metric, str2idx, out, &entry->second, false, entry->first);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sim_search_part_patterns.cpp:124:33:   required from here
  124 |   check_part<TrimDirection::Mid>(strings, cutoff, metric, str2idx, mid2idxs, out);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/sim_search_semi_patterns.hpp:66:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::__cxx11::basic_string<char> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   66 |     for (int i = 0; i < strings.size(); i++)
      |                     ~~^~~~~~~~~~~~~~~~
g++-14 -std=gnu++17 -shared -L/usr/local/gcc14/lib64 -L/usr/local/lib64 -o RPatternJoin.so RcppExports.o bounded_edit_distance.o file_io.o main.o patterns_generators.o sim_search_part_patterns.o sim_search_patterns.o sim_search_semi_patterns.o
make[1]: Leaving directory '/data/gannet/ripley/R/packages/tests-devel/RPatternJoin/src'
make[1]: Entering directory '/data/gannet/ripley/R/packages/tests-devel/RPatternJoin/src'
make[1]: Leaving directory '/data/gannet/ripley/R/packages/tests-devel/RPatternJoin/src'
installing to /data/gannet/ripley/R/packages/tests-devel/RPatternJoin.Rcheck/00LOCK-RPatternJoin/00new/RPatternJoin/libs
** R
** 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 (RPatternJoin)