* installing *source* package ‘naryn’ ... ** this is package ‘naryn’ version ‘2.6.31’ ** package ‘naryn’ successfully unpacked and MD5 sums checked ** using staged installation ** libs using C++ compiler: ‘Apple clang version 17.0.0 (clang-1700.6.3.2)’ using SDK: ‘MacOSX26.2.sdk’ clang++ -mmacos-version-min=26 -std=gnu++20 -I"/Users/ripley/R/cxx20/include" -DNDEBUG -isystem /opt/R/arm64/include -fPIC -g -O2 -Wall -pedantic -Wconversion -Wno-sign-conversion -c BinFinder.cpp -o BinFinder.o In file included from BinFinder.cpp:8: ./BinFinder.h:43:74: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'unsigned int' [-Wshorten-64-to-32] 43 | unsigned get_numbins() const { return m_breaks.size() - 1; } | ~~~~~~ ~~~~~~~~~~~~~~~~^~~ ./BinFinder.h:64:10: warning: implicit conversion turns floating-point number into integer: 'const double' to 'bool' [-Wfloat-conversion] 64 | if (m_binsize) // are we using the same bin size for all bins? | ~~ ^~~~~~~~~ ./BinFinder.h:89:9: warning: implicit conversion turns floating-point number into integer: 'const double' to 'bool' [-Wfloat-conversion] 89 | if (m_binsize) { // are we using the same bin size for all bins? | ~~ ^~~~~~~~~ ./BinFinder.h:84:32: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 84 | return m_breaks.size() - 2; | ~~~~~~ ~~~~~~~~~~~~~~~~^~~ 4 warnings generated. clang++ -mmacos-version-min=26 -std=gnu++20 -I"/Users/ripley/R/cxx20/include" -DNDEBUG -isystem /opt/R/arm64/include -fPIC -g -O2 -Wall -pedantic -Wconversion -Wno-sign-conversion -c BinsManager.cpp -o BinsManager.o In file included from BinsManager.cpp:1: ./EMRDb.h:289:12: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'unsigned int' [-Wshorten-64-to-32] 289 | return m_num_ids; | ~~~~~~ ^~~~~~~~~ In file included from BinsManager.cpp:2: In file included from ./BinsManager.h:7: ./BinFinder.h:43:74: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'unsigned int' [-Wshorten-64-to-32] 43 | unsigned get_numbins() const { return m_breaks.size() - 1; } | ~~~~~~ ~~~~~~~~~~~~~~~~^~~ ./BinFinder.h:64:10: warning: implicit conversion turns floating-point number into integer: 'const double' to 'bool' [-Wfloat-conversion] 64 | if (m_binsize) // are we using the same bin size for all bins? | ~~ ^~~~~~~~~ ./BinFinder.h:89:9: warning: implicit conversion turns floating-point number into integer: 'const double' to 'bool' [-Wfloat-conversion] 89 | if (m_binsize) { // are we using the same bin size for all bins? | ~~ ^~~~~~~~~ ./BinFinder.h:84:32: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 84 | return m_breaks.size() - 2; | ~~~~~~ ~~~~~~~~~~~~~~~~^~~ In file included from BinsManager.cpp:2: In file included from ./BinsManager.h:8: In file included from ./NRTrackExpressionVars.h:23: ./EMRTrack.h:598:44: warning: implicit conversion turns floating-point number into integer: 'double' to 'unsigned int' [-Wfloat-conversion] 598 | unsigned cnt = unif_rand() * num_vs; | ~~~ ~~~~~~~~~~~~^~~~~~~~ ./EMRTrack.h:626:44: warning: implicit conversion turns floating-point number into integer: 'double' to 'unsigned int' [-Wfloat-conversion] 626 | unsigned cnt = unif_rand() * num_vs; | ~~~ ~~~~~~~~~~~~^~~~~~~~ In file included from BinsManager.cpp:2: In file included from ./BinsManager.h:8: ./NRTrackExpressionVars.h:60:60: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'unsigned int' [-Wshorten-64-to-32] 60 | unsigned get_num_track_vars() const { return m_track_vars.size(); } | ~~~~~~ ~~~~~~~~~~~~~^~~~~~ In file included from BinsManager.cpp:2: ./BinsManager.h:30:70: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'unsigned int' [-Wshorten-64-to-32] 30 | unsigned get_num_bin_finders() const { return m_bin_finders.size(); } | ~~~~~~ ~~~~~~~~~~~~~~^~~~~~ ./BinsManager.h:53:20: warning: implicit conversion loses integer precision: 'decltype(__x.base() - __y.base())' (aka 'long') to 'int' [-Wshorten-64-to-32] 53 | int index = ival - vals.begin(); | ~~~~~ ~~~~~^~~~~~~~~~~~~~ BinsManager.cpp:90:36: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 90 | INTEGER(dim)[i] = vals.size(); | ~ ~~~~~^~~~~~ 11 warnings generated. clang++ -mmacos-version-min=26 -std=gnu++20 -I"/Users/ripley/R/cxx20/include" -DNDEBUG -isystem /opt/R/arm64/include -fPIC -g -O2 -Wall -pedantic -Wconversion -Wno-sign-conversion -c BufferedFile.cpp -o BufferedFile.o clang++ -mmacos-version-min=26 -std=gnu++20 -I"/Users/ripley/R/cxx20/include" -DNDEBUG -isystem /opt/R/arm64/include -fPIC -g -O2 -Wall -pedantic -Wconversion -Wno-sign-conversion -c EMRDb.cpp -o EMRDb.o In file included from EMRDb.cpp:1: ./EMRDb.h:289:12: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'unsigned int' [-Wshorten-64-to-32] 289 | return m_num_ids; | ~~~~~~ ^~~~~~~~~ In file included from EMRDb.cpp:18: In file included from ./EMRTrack.h:18: ./BinFinder.h:43:74: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'unsigned int' [-Wshorten-64-to-32] 43 | unsigned get_numbins() const { return m_breaks.size() - 1; } | ~~~~~~ ~~~~~~~~~~~~~~~~^~~ ./BinFinder.h:64:10: warning: implicit conversion turns floating-point number into integer: 'const double' to 'bool' [-Wfloat-conversion] 64 | if (m_binsize) // are we using the same bin size for all bins? | ~~ ^~~~~~~~~ ./BinFinder.h:89:9: warning: implicit conversion turns floating-point number into integer: 'const double' to 'bool' [-Wfloat-conversion] 89 | if (m_binsize) { // are we using the same bin size for all bins? | ~~ ^~~~~~~~~ ./BinFinder.h:84:32: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 84 | return m_breaks.size() - 2; | ~~~~~~ ~~~~~~~~~~~~~~~~^~~ In file included from EMRDb.cpp:18: ./EMRTrack.h:598:44: warning: implicit conversion turns floating-point number into integer: 'double' to 'unsigned int' [-Wfloat-conversion] 598 | unsigned cnt = unif_rand() * num_vs; | ~~~ ~~~~~~~~~~~~^~~~~~~~ ./EMRTrack.h:626:44: warning: implicit conversion turns floating-point number into integer: 'double' to 'unsigned int' [-Wfloat-conversion] 626 | unsigned cnt = unif_rand() * num_vs; | ~~~ ~~~~~~~~~~~~^~~~~~~~ EMRDb.cpp:50:47: warning: 'operator>' is deprecated [-Wdeprecated-declarations] 50 | if (itrack->second.track->timestamp() > itrack->second.timestamp) | ^ /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/rel_ops.h:28:63: note: 'operator>' has been explicitly marked deprecated here 28 | inline _LIBCPP_DEPRECATED_IN_CXX20 _LIBCPP_HIDE_FROM_ABI bool operator>(const _Tp& __x, const _Tp& __y) { | ^ EMRDb.cpp:50:47: warning: 'operator>' is deprecated [-Wdeprecated-declarations] 50 | if (itrack->second.track->timestamp() > itrack->second.timestamp) | ^ /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/rel_ops.h:28:8: note: 'operator>' has been explicitly marked deprecated here 28 | inline _LIBCPP_DEPRECATED_IN_CXX20 _LIBCPP_HIDE_FROM_ABI bool operator>(const _Tp& __x, const _Tp& __y) { | ^ /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__config:743:41: note: expanded from macro '_LIBCPP_DEPRECATED_IN_CXX20' 743 | # define _LIBCPP_DEPRECATED_IN_CXX20 _LIBCPP_DEPRECATED | ^ /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__config:710:49: note: expanded from macro '_LIBCPP_DEPRECATED' 710 | # define _LIBCPP_DEPRECATED __attribute__((__deprecated__)) | ^ EMRDb.cpp:132:53: warning: 'operator>' is deprecated [-Wdeprecated-declarations] 132 | if (track.second.track->timestamp() > track.second.timestamp) | ^ /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/rel_ops.h:28:63: note: 'operator>' has been explicitly marked deprecated here 28 | inline _LIBCPP_DEPRECATED_IN_CXX20 _LIBCPP_HIDE_FROM_ABI bool operator>(const _Tp& __x, const _Tp& __y) { | ^ EMRDb.cpp:132:53: warning: 'operator>' is deprecated [-Wdeprecated-declarations] 132 | if (track.second.track->timestamp() > track.second.timestamp) | ^ /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/rel_ops.h:28:8: note: 'operator>' has been explicitly marked deprecated here 28 | inline _LIBCPP_DEPRECATED_IN_CXX20 _LIBCPP_HIDE_FROM_ABI bool operator>(const _Tp& __x, const _Tp& __y) { | ^ /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__config:743:41: note: expanded from macro '_LIBCPP_DEPRECATED_IN_CXX20' 743 | # define _LIBCPP_DEPRECATED_IN_CXX20 _LIBCPP_DEPRECATED | ^ /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__config:710:49: note: expanded from macro '_LIBCPP_DEPRECATED' 710 | # define _LIBCPP_DEPRECATED __attribute__((__deprecated__)) | ^ EMRDb.cpp:104:79: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'value_type' (aka 'int') [-Wshorten-64-to-32] 104 | track_names_sizes.push_back((m_track_names[m_rootdirs[db_idx]].size() * (!m_load_on_demand[db_idx]))); | ~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ EMRDb.cpp:213:23: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 213 | int len = strlen(dirp->d_name); | ~~~ ^~~~~~~~~~~~~~~~~~~~ EMRDb.cpp:415:31: warning: implicit conversion loses integer precision: 'int' to 'value_type' (aka 'char') [-Wimplicit-int-conversion] 415 | buf.push_back(c); | ~~~~~~~~~ ^ EMRDb.cpp:760:16: warning: implicit conversion loses integer precision: 'typename iterator_traits<__wrap_iter>::difference_type' (aka 'long') to 'int' [-Wshorten-64-to-32] 760 | return distance(m_rootdirs.begin(), itr); | ~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ EMRDb.cpp:980:23: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 980 | int len = strlen(dirp->d_name); | ~~~ ^~~~~~~~~~~~~~~~~~~~ EMRDb.cpp:1107:33: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 1107 | track_name[pos++] = c; | ~ ^ EMRDb.cpp:1210:52: warning: 'operator>=' is deprecated [-Wdeprecated-declarations] 1210 | (itrack->second.track->timestamp() >= fresh_track.second.timestamp)) { | ^ /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/rel_ops.h:38:63: note: 'operator>=' has been explicitly marked deprecated here 38 | inline _LIBCPP_DEPRECATED_IN_CXX20 _LIBCPP_HIDE_FROM_ABI bool operator>=(const _Tp& __x, const _Tp& __y) { | ^ EMRDb.cpp:1210:52: warning: 'operator>=' is deprecated [-Wdeprecated-declarations] 1210 | (itrack->second.track->timestamp() >= fresh_track.second.timestamp)) { | ^ /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/rel_ops.h:38:8: note: 'operator>=' has been explicitly marked deprecated here 38 | inline _LIBCPP_DEPRECATED_IN_CXX20 _LIBCPP_HIDE_FROM_ABI bool operator>=(const _Tp& __x, const _Tp& __y) { | ^ /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__config:743:41: note: expanded from macro '_LIBCPP_DEPRECATED_IN_CXX20' 743 | # define _LIBCPP_DEPRECATED_IN_CXX20 _LIBCPP_DEPRECATED | ^ /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__config:710:49: note: expanded from macro '_LIBCPP_DEPRECATED' 710 | # define _LIBCPP_DEPRECATED __attribute__((__deprecated__)) | ^ EMRDb.cpp:1490:35: warning: implicit conversion loses integer precision: 'int' to 'value_type' (aka 'char') [-Wimplicit-int-conversion] 1490 | buf.push_back(c); | ~~~~~~~~~ ^ 20 warnings generated. clang++ -mmacos-version-min=26 -std=gnu++20 -I"/Users/ripley/R/cxx20/include" -DNDEBUG -isystem /opt/R/arm64/include -fPIC -g -O2 -Wall -pedantic -Wconversion -Wno-sign-conversion -c EMRIdTimeInterval.cpp -o EMRIdTimeInterval.o In file included from EMRIdTimeInterval.cpp:3: ./EMRDb.h:289:12: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'unsigned int' [-Wshorten-64-to-32] 289 | return m_num_ids; | ~~~~~~ ^~~~~~~~~ 1 warning generated. clang++ -mmacos-version-min=26 -std=gnu++20 -I"/Users/ripley/R/cxx20/include" -DNDEBUG -isystem /opt/R/arm64/include -fPIC -g -O2 -Wall -pedantic -Wconversion -Wno-sign-conversion -c EMRIteratorFilterItem.cpp -o EMRIteratorFilterItem.o In file included from EMRIteratorFilterItem.cpp:1: ./EMRDb.h:289:12: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'unsigned int' [-Wshorten-64-to-32] 289 | return m_num_ids; | ~~~~~~ ^~~~~~~~~ EMRIteratorFilterItem.cpp:95:60: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'unsigned int' [-Wshorten-64-to-32] 95 | unsigned id_idx = g_db->id2idx(id) + 1; | ~~~~~~ ~~~~~~~~~~~~~~~~~^~~ In file included from EMRIteratorFilterItem.cpp:2: In file included from ./EMRIdsIterator.h:4: In file included from ./EMRTrackExpressionIterator.h:5: ./EMRPoint.h:63:20: warning: implicit conversion loses integer precision: 'int' to 'unsigned char' [-Wimplicit-int-conversion] 63 | timestamp.init(std::forward(_t)...); | ~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~ ./EMRIdsIterator.h:56:21: note: in instantiation of function template specialization 'EMRPoint::init' requested here 56 | m_point.init(*m_iid, m_stime, m_keepref ? 0 : EMRTimeStamp::NA_REFCOUNT); | ^ In file included from EMRIteratorFilterItem.cpp:2: In file included from ./EMRIdsIterator.h:4: In file included from ./EMRTrackExpressionIterator.h:5: ./EMRPoint.h:63:20: warning: implicit conversion loses integer precision: 'int' to 'unsigned char' [-Wimplicit-int-conversion] 63 | timestamp.init(std::forward(_t)...); | ~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~ ./EMRTimesIterator.h:125:21: note: in instantiation of function template specialization 'EMRPoint::init' requested here 125 | m_point.init(jumpto.id, m_iinterv->stime, m_keepref ? 0 : EMRTimeStamp::NA_REFCOUNT); | ^ 4 warnings generated. clang++ -mmacos-version-min=26 -std=gnu++20 -I"/Users/ripley/R/cxx20/include" -DNDEBUG -isystem /opt/R/arm64/include -fPIC -g -O2 -Wall -pedantic -Wconversion -Wno-sign-conversion -c EMRLogicalTrack.cpp -o EMRLogicalTrack.o EMRLogicalTrack.cpp:57:31: warning: implicit conversion loses integer precision: 'int' to 'value_type' (aka 'char') [-Wimplicit-int-conversion] 57 | buf.push_back(c); | ~~~~~~~~~ ^ 1 warning generated. clang++ -mmacos-version-min=26 -std=gnu++20 -I"/Users/ripley/R/cxx20/include" -DNDEBUG -isystem /opt/R/arm64/include -fPIC -g -O2 -Wall -pedantic -Wconversion -Wno-sign-conversion -c EMRProgressReporter.cpp -o EMRProgressReporter.o EMRProgressReporter.cpp:35:7: warning: implicit conversion turns floating-point number into integer: 'double' to 'bool' [-Wfloat-conversion] 35 | if (delta) | ~~ ^~~~~ 1 warning generated. clang++ -mmacos-version-min=26 -std=gnu++20 -I"/Users/ripley/R/cxx20/include" -DNDEBUG -isystem /opt/R/arm64/include -fPIC -g -O2 -Wall -pedantic -Wconversion -Wno-sign-conversion -c EMRTimeConverter.cpp -o EMRTimeConverter.o clang++ -mmacos-version-min=26 -std=gnu++20 -I"/Users/ripley/R/cxx20/include" -DNDEBUG -isystem /opt/R/arm64/include -fPIC -g -O2 -Wall -pedantic -Wconversion -Wno-sign-conversion -c EMRTimeInterval.cpp -o EMRTimeInterval.o clang++ -mmacos-version-min=26 -std=gnu++20 -I"/Users/ripley/R/cxx20/include" -DNDEBUG -isystem /opt/R/arm64/include -fPIC -g -O2 -Wall -pedantic -Wconversion -Wno-sign-conversion -c EMRTimeStamp.cpp -o EMRTimeStamp.o clang++ -mmacos-version-min=26 -std=gnu++20 -I"/Users/ripley/R/cxx20/include" -DNDEBUG -isystem /opt/R/arm64/include -fPIC -g -O2 -Wall -pedantic -Wconversion -Wno-sign-conversion -c EMRTrack.cpp -o EMRTrack.o In file included from EMRTrack.cpp:8: ./EMRDb.h:289:12: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'unsigned int' [-Wshorten-64-to-32] 289 | return m_num_ids; | ~~~~~~ ^~~~~~~~~ In file included from EMRTrack.cpp:9: In file included from ./EMRTrack.h:18: ./BinFinder.h:43:74: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'unsigned int' [-Wshorten-64-to-32] 43 | unsigned get_numbins() const { return m_breaks.size() - 1; } | ~~~~~~ ~~~~~~~~~~~~~~~~^~~ ./BinFinder.h:64:10: warning: implicit conversion turns floating-point number into integer: 'const double' to 'bool' [-Wfloat-conversion] 64 | if (m_binsize) // are we using the same bin size for all bins? | ~~ ^~~~~~~~~ ./BinFinder.h:89:9: warning: implicit conversion turns floating-point number into integer: 'const double' to 'bool' [-Wfloat-conversion] 89 | if (m_binsize) { // are we using the same bin size for all bins? | ~~ ^~~~~~~~~ ./BinFinder.h:84:32: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 84 | return m_breaks.size() - 2; | ~~~~~~ ~~~~~~~~~~~~~~~~^~~ In file included from EMRTrack.cpp:9: ./EMRTrack.h:598:44: warning: implicit conversion turns floating-point number into integer: 'double' to 'unsigned int' [-Wfloat-conversion] 598 | unsigned cnt = unif_rand() * num_vs; | ~~~ ~~~~~~~~~~~~^~~~~~~~ ./EMRTrack.h:626:44: warning: implicit conversion turns floating-point number into integer: 'double' to 'unsigned int' [-Wfloat-conversion] 626 | unsigned cnt = unif_rand() * num_vs; | ~~~ ~~~~~~~~~~~~^~~~~~~~ In file included from EMRTrack.cpp:9: In file included from ./EMRTrack.h:234: ./EMRTrackSparse.h:13:96: warning: implicit conversion loses integer precision: 'const uint64_t' (aka 'const unsigned long long') to 'unsigned int' [-Wshorten-64-to-32] 13 | virtual unsigned unique_size() const { return m_base_track ? m_base_track->unique_size() : m_num_percentiles; } | ~~~~~~ ^~~~~~~~~~~~~~~~~ ./EMRTrackSparse.h:91:20: note: in instantiation of member function 'EMRTrackSparse::unique_size' requested here 91 | EMRTrackSparse::EMRTrackSparse(const char *name, DataType data_type, unsigned flags, void *&mem, uint64_t &pos, uint64_t size, | ^ EMRTrack.cpp:152:20: note: in instantiation of member function 'EMRTrackSparse::EMRTrackSparse' requested here 152 | track = new EMRTrackSparse(name, FLOAT, flags, mem, pos, sb.st_size, minid, maxid, mintime, maxtime); | ^ In file included from EMRTrack.cpp:9: In file included from ./EMRTrack.h:234: ./EMRTrackSparse.h:436:39: warning: implicit conversion loses integer precision: 'long' to 'unsigned int' [-Wshorten-64-to-32] 436 | df.m_data_idx = datum - m_data; | ~ ~~~~~~^~~~~~~~ ./EMRTrackSparse.h:91:20: note: in instantiation of member function 'EMRTrackSparse::set_vals' requested here 91 | EMRTrackSparse::EMRTrackSparse(const char *name, DataType data_type, unsigned flags, void *&mem, uint64_t &pos, uint64_t size, | ^ EMRTrack.cpp:152:20: note: in instantiation of member function 'EMRTrackSparse::EMRTrackSparse' requested here 152 | track = new EMRTrackSparse(name, FLOAT, flags, mem, pos, sb.st_size, minid, maxid, mintime, maxtime); | ^ In file included from EMRTrack.cpp:9: In file included from ./EMRTrack.h:234: ./EMRTrackSparse.h:465:32: warning: implicit conversion loses integer precision: 'long' to 'unsigned int' [-Wshorten-64-to-32] 465 | df.m_rec_idx = rec - m_recs; | ~ ~~~~^~~~~~~~ ./EMRTrackSparse.h:425:13: note: in instantiation of member function 'EMRTrackSparse::set_vals4data' requested here 425 | set_vals4data(df, interv, m_data[df.m_data_idx].rec_idx + num_recs(m_data + df.m_data_idx)); | ^ ./EMRTrackSparse.h:91:20: note: in instantiation of member function 'EMRTrackSparse::set_vals' requested here 91 | EMRTrackSparse::EMRTrackSparse(const char *name, DataType data_type, unsigned flags, void *&mem, uint64_t &pos, uint64_t size, | ^ EMRTrack.cpp:152:20: note: in instantiation of member function 'EMRTrackSparse::EMRTrackSparse' requested here 152 | track = new EMRTrackSparse(name, FLOAT, flags, mem, pos, sb.st_size, minid, maxid, mintime, maxtime); | ^ In file included from EMRTrack.cpp:9: ./EMRTrack.h:598:44: warning: implicit conversion turns floating-point number into integer: 'double' to 'unsigned int' [-Wfloat-conversion] 598 | unsigned cnt = unif_rand() * num_vs; | ~~~ ~~~~~~~~~~~~^~~~~~~~ ./EMRTrackSparse.h:455:13: note: in instantiation of function template specialization 'EMRTrack::calc_vals::Rec *>' requested here 455 | calc_vals(df, interv, m_recs + df.m_rec_idx, m_recs + end_rec_idx); | ^ ./EMRTrackSparse.h:425:13: note: in instantiation of member function 'EMRTrackSparse::set_vals4data' requested here 425 | set_vals4data(df, interv, m_data[df.m_data_idx].rec_idx + num_recs(m_data + df.m_data_idx)); | ^ ./EMRTrackSparse.h:91:20: note: in instantiation of member function 'EMRTrackSparse::set_vals' requested here 91 | EMRTrackSparse::EMRTrackSparse(const char *name, DataType data_type, unsigned flags, void *&mem, uint64_t &pos, uint64_t size, | ^ EMRTrack.cpp:152:20: note: in instantiation of member function 'EMRTrackSparse::EMRTrackSparse' requested here 152 | track = new EMRTrackSparse(name, FLOAT, flags, mem, pos, sb.st_size, minid, maxid, mintime, maxtime); | ^ In file included from EMRTrack.cpp:9: ./EMRTrack.h:626:44: warning: implicit conversion turns floating-point number into integer: 'double' to 'unsigned int' [-Wfloat-conversion] 626 | unsigned cnt = unif_rand() * num_vs; | ~~~ ~~~~~~~~~~~~^~~~~~~~ In file included from EMRTrack.cpp:9: In file included from ./EMRTrack.h:234: ./EMRTrackSparse.h:544:23: warning: implicit conversion loses integer precision: 'long' to 'unsigned int' [-Wshorten-64-to-32] 544 | itr.m_rec_idx = rec - m_recs; | ~ ~~~~^~~~~~~~ ./EMRTrackSparse.h:91:20: note: in instantiation of member function 'EMRTrackSparse::next' requested here 91 | EMRTrackSparse::EMRTrackSparse(const char *name, DataType data_type, unsigned flags, void *&mem, uint64_t &pos, uint64_t size, | ^ EMRTrack.cpp:152:20: note: in instantiation of member function 'EMRTrackSparse::EMRTrackSparse' requested here 152 | track = new EMRTrackSparse(name, FLOAT, flags, mem, pos, sb.st_size, minid, maxid, mintime, maxtime); | ^ In file included from EMRTrack.cpp:9: In file included from ./EMRTrack.h:234: ./EMRTrackSparse.h:558:32: warning: implicit conversion loses integer precision: 'long' to 'unsigned int' [-Wshorten-64-to-32] 558 | itr.m_data_idx = datum - m_data; | ~ ~~~~~~^~~~~~~~ ./EMRTrackSparse.h:91:20: note: in instantiation of member function 'EMRTrackSparse::next' requested here 91 | EMRTrackSparse::EMRTrackSparse(const char *name, DataType data_type, unsigned flags, void *&mem, uint64_t &pos, uint64_t size, | ^ EMRTrack.cpp:152:20: note: in instantiation of member function 'EMRTrackSparse::EMRTrackSparse' requested here 152 | track = new EMRTrackSparse(name, FLOAT, flags, mem, pos, sb.st_size, minid, maxid, mintime, maxtime); | ^ In file included from EMRTrack.cpp:9: In file included from ./EMRTrack.h:234: ./EMRTrackSparse.h:630:29: warning: implicit conversion loses integer precision: 'long' to 'unsigned int' [-Wshorten-64-to-32] 630 | itr.m_rec_idx = rec - m_recs; | ~ ~~~~^~~~~~~~ ./EMRTrackSparse.h:13:96: warning: implicit conversion loses integer precision: 'const uint64_t' (aka 'const unsigned long long') to 'unsigned int' [-Wshorten-64-to-32] 13 | virtual unsigned unique_size() const { return m_base_track ? m_base_track->unique_size() : m_num_percentiles; } | ~~~~~~ ^~~~~~~~~~~~~~~~~ ./EMRTrackSparse.h:91:20: note: in instantiation of member function 'EMRTrackSparse::unique_size' requested here 91 | EMRTrackSparse::EMRTrackSparse(const char *name, DataType data_type, unsigned flags, void *&mem, uint64_t &pos, uint64_t size, | ^ EMRTrack.cpp:154:20: note: in instantiation of member function 'EMRTrackSparse::EMRTrackSparse' requested here 154 | track = new EMRTrackSparse(name, DOUBLE, flags, mem, pos, sb.st_size, minid, maxid, mintime, maxtime); | ^ In file included from EMRTrack.cpp:9: In file included from ./EMRTrack.h:234: ./EMRTrackSparse.h:436:39: warning: implicit conversion loses integer precision: 'long' to 'unsigned int' [-Wshorten-64-to-32] 436 | df.m_data_idx = datum - m_data; | ~ ~~~~~~^~~~~~~~ ./EMRTrackSparse.h:91:20: note: in instantiation of member function 'EMRTrackSparse::set_vals' requested here 91 | EMRTrackSparse::EMRTrackSparse(const char *name, DataType data_type, unsigned flags, void *&mem, uint64_t &pos, uint64_t size, | ^ EMRTrack.cpp:154:20: note: in instantiation of member function 'EMRTrackSparse::EMRTrackSparse' requested here 154 | track = new EMRTrackSparse(name, DOUBLE, flags, mem, pos, sb.st_size, minid, maxid, mintime, maxtime); | ^ In file included from EMRTrack.cpp:9: In file included from ./EMRTrack.h:234: ./EMRTrackSparse.h:465:32: warning: implicit conversion loses integer precision: 'long' to 'unsigned int' [-Wshorten-64-to-32] 465 | df.m_rec_idx = rec - m_recs; | ~ ~~~~^~~~~~~~ ./EMRTrackSparse.h:425:13: note: in instantiation of member function 'EMRTrackSparse::set_vals4data' requested here 425 | set_vals4data(df, interv, m_data[df.m_data_idx].rec_idx + num_recs(m_data + df.m_data_idx)); | ^ ./EMRTrackSparse.h:91:20: note: in instantiation of member function 'EMRTrackSparse::set_vals' requested here 91 | EMRTrackSparse::EMRTrackSparse(const char *name, DataType data_type, unsigned flags, void *&mem, uint64_t &pos, uint64_t size, | ^ EMRTrack.cpp:154:20: note: in instantiation of member function 'EMRTrackSparse::EMRTrackSparse' requested here 154 | track = new EMRTrackSparse(name, DOUBLE, flags, mem, pos, sb.st_size, minid, maxid, mintime, maxtime); | ^ In file included from EMRTrack.cpp:9: ./EMRTrack.h:598:44: warning: implicit conversion turns floating-point number into integer: 'double' to 'unsigned int' [-Wfloat-conversion] 598 | unsigned cnt = unif_rand() * num_vs; | ~~~ ~~~~~~~~~~~~^~~~~~~~ ./EMRTrackSparse.h:455:13: note: in instantiation of function template specialization 'EMRTrack::calc_vals::Rec *>' requested here 455 | calc_vals(df, interv, m_recs + df.m_rec_idx, m_recs + end_rec_idx); | ^ ./EMRTrackSparse.h:425:13: note: in instantiation of member function 'EMRTrackSparse::set_vals4data' requested here 425 | set_vals4data(df, interv, m_data[df.m_data_idx].rec_idx + num_recs(m_data + df.m_data_idx)); | ^ ./EMRTrackSparse.h:91:20: note: in instantiation of member function 'EMRTrackSparse::set_vals' requested here 91 | EMRTrackSparse::EMRTrackSparse(const char *name, DataType data_type, unsigned flags, void *&mem, uint64_t &pos, uint64_t size, | ^ EMRTrack.cpp:154:20: note: in instantiation of member function 'EMRTrackSparse::EMRTrackSparse' requested here 154 | track = new EMRTrackSparse(name, DOUBLE, flags, mem, pos, sb.st_size, minid, maxid, mintime, maxtime); | ^ In file included from EMRTrack.cpp:9: ./EMRTrack.h:626:44: warning: implicit conversion turns floating-point number into integer: 'double' to 'unsigned int' [-Wfloat-conversion] 626 | unsigned cnt = unif_rand() * num_vs; | ~~~ ~~~~~~~~~~~~^~~~~~~~ In file included from EMRTrack.cpp:9: In file included from ./EMRTrack.h:234: ./EMRTrackSparse.h:544:23: warning: implicit conversion loses integer precision: 'long' to 'unsigned int' [-Wshorten-64-to-32] 544 | itr.m_rec_idx = rec - m_recs; | ~ ~~~~^~~~~~~~ ./EMRTrackSparse.h:91:20: note: in instantiation of member function 'EMRTrackSparse::next' requested here 91 | EMRTrackSparse::EMRTrackSparse(const char *name, DataType data_type, unsigned flags, void *&mem, uint64_t &pos, uint64_t size, | ^ EMRTrack.cpp:154:20: note: in instantiation of member function 'EMRTrackSparse::EMRTrackSparse' requested here 154 | track = new EMRTrackSparse(name, DOUBLE, flags, mem, pos, sb.st_size, minid, maxid, mintime, maxtime); | ^ In file included from EMRTrack.cpp:9: In file included from ./EMRTrack.h:234: ./EMRTrackSparse.h:558:32: warning: implicit conversion loses integer precision: 'long' to 'unsigned int' [-Wshorten-64-to-32] 558 | itr.m_data_idx = datum - m_data; | ~ ~~~~~~^~~~~~~~ ./EMRTrackSparse.h:91:20: note: in instantiation of member function 'EMRTrackSparse::next' requested here 91 | EMRTrackSparse::EMRTrackSparse(const char *name, DataType data_type, unsigned flags, void *&mem, uint64_t &pos, uint64_t size, | ^ EMRTrack.cpp:154:20: note: in instantiation of member function 'EMRTrackSparse::EMRTrackSparse' requested here 154 | track = new EMRTrackSparse(name, DOUBLE, flags, mem, pos, sb.st_size, minid, maxid, mintime, maxtime); | ^ In file included from EMRTrack.cpp:9: In file included from ./EMRTrack.h:234: ./EMRTrackSparse.h:630:29: warning: implicit conversion loses integer precision: 'long' to 'unsigned int' [-Wshorten-64-to-32] 630 | itr.m_rec_idx = rec - m_recs; | ~ ~~~~^~~~~~~~ In file included from EMRTrack.cpp:9: In file included from ./EMRTrack.h:233: ./EMRTrackDense.h:14:96: warning: implicit conversion loses integer precision: 'const uint64_t' (aka 'const unsigned long long') to 'unsigned int' [-Wshorten-64-to-32] 14 | virtual unsigned unique_size() const { return m_base_track ? m_base_track->unique_size() : m_num_percentiles; } | ~~~~~~ ^~~~~~~~~~~~~~~~~ ./EMRTrackDense.h:90:19: note: in instantiation of member function 'EMRTrackDense::unique_size' requested here 90 | EMRTrackDense::EMRTrackDense(const char *name, DataType data_type, unsigned flags, void *&mem, uint64_t &pos, uint64_t size, | ^ EMRTrack.cpp:157:20: note: in instantiation of member function 'EMRTrackDense::EMRTrackDense' requested here 157 | track = new EMRTrackDense(name, FLOAT, flags, mem, pos, sb.st_size, minid, maxid, mintime, maxtime); | ^ In file included from EMRTrack.cpp:9: In file included from ./EMRTrack.h:233: ./EMRTrackDense.h:434:36: warning: implicit conversion loses integer precision: 'long' to 'unsigned int' [-Wshorten-64-to-32] 434 | df.m_rec_idx = rec - m_recs; | ~ ~~~~^~~~~~~~ ./EMRTrackDense.h:90:19: note: in instantiation of member function 'EMRTrackDense::set_vals' requested here 90 | EMRTrackDense::EMRTrackDense(const char *name, DataType data_type, unsigned flags, void *&mem, uint64_t &pos, uint64_t size, | ^ EMRTrack.cpp:157:20: note: in instantiation of member function 'EMRTrackDense::EMRTrackDense' requested here 157 | track = new EMRTrackDense(name, FLOAT, flags, mem, pos, sb.st_size, minid, maxid, mintime, maxtime); | ^ In file included from EMRTrack.cpp:9: ./EMRTrack.h:598:44: warning: implicit conversion turns floating-point number into integer: 'double' to 'unsigned int' [-Wfloat-conversion] 598 | unsigned cnt = unif_rand() * num_vs; | ~~~ ~~~~~~~~~~~~^~~~~~~~ ./EMRTrackDense.h:424:17: note: in instantiation of function template specialization 'EMRTrack::calc_vals::Rec *>' requested here 424 | calc_vals(df, interv, m_recs + df.m_rec_idx, m_recs + end_rec_idx); | ^ ./EMRTrackDense.h:90:19: note: in instantiation of member function 'EMRTrackDense::set_vals' requested here 90 | EMRTrackDense::EMRTrackDense(const char *name, DataType data_type, unsigned flags, void *&mem, uint64_t &pos, uint64_t size, | ^ EMRTrack.cpp:157:20: note: in instantiation of member function 'EMRTrackDense::EMRTrackDense' requested here 157 | track = new EMRTrackDense(name, FLOAT, flags, mem, pos, sb.st_size, minid, maxid, mintime, maxtime); | ^ In file included from EMRTrack.cpp:9: ./EMRTrack.h:626:44: warning: implicit conversion turns floating-point number into integer: 'double' to 'unsigned int' [-Wfloat-conversion] 626 | unsigned cnt = unif_rand() * num_vs; | ~~~ ~~~~~~~~~~~~^~~~~~~~ In file included from EMRTrack.cpp:9: In file included from ./EMRTrack.h:233: ./EMRTrackDense.h:522:23: warning: implicit conversion loses integer precision: 'long' to 'unsigned int' [-Wshorten-64-to-32] 522 | itr.m_rec_idx = rec - m_recs; | ~ ~~~~^~~~~~~~ ./EMRTrackDense.h:90:19: note: in instantiation of member function 'EMRTrackDense::next' requested here 90 | EMRTrackDense::EMRTrackDense(const char *name, DataType data_type, unsigned flags, void *&mem, uint64_t &pos, uint64_t size, | ^ EMRTrack.cpp:157:20: note: in instantiation of member function 'EMRTrackDense::EMRTrackDense' requested here 157 | track = new EMRTrackDense(name, FLOAT, flags, mem, pos, sb.st_size, minid, maxid, mintime, maxtime); | ^ In file included from EMRTrack.cpp:9: In file included from ./EMRTrack.h:233: ./EMRTrackDense.h:625:29: warning: implicit conversion loses integer precision: 'long' to 'unsigned int' [-Wshorten-64-to-32] 625 | itr.m_rec_idx = rec - m_recs; | ~ ~~~~^~~~~~~~ ./EMRTrackDense.h:90:19: note: in instantiation of member function 'EMRTrackDense::next' requested here 90 | EMRTrackDense::EMRTrackDense(const char *name, DataType data_type, unsigned flags, void *&mem, uint64_t &pos, uint64_t size, | ^ EMRTrack.cpp:157:20: note: in instantiation of member function 'EMRTrackDense::EMRTrackDense' requested here 157 | track = new EMRTrackDense(name, FLOAT, flags, mem, pos, sb.st_size, minid, maxid, mintime, maxtime); | ^ In file included from EMRTrack.cpp:9: In file included from ./EMRTrack.h:233: ./EMRTrackDense.h:14:96: warning: implicit conversion loses integer precision: 'const uint64_t' (aka 'const unsigned long long') to 'unsigned int' [-Wshorten-64-to-32] 14 | virtual unsigned unique_size() const { return m_base_track ? m_base_track->unique_size() : m_num_percentiles; } | ~~~~~~ ^~~~~~~~~~~~~~~~~ ./EMRTrackDense.h:90:19: note: in instantiation of member function 'EMRTrackDense::unique_size' requested here 90 | EMRTrackDense::EMRTrackDense(const char *name, DataType data_type, unsigned flags, void *&mem, uint64_t &pos, uint64_t size, | ^ EMRTrack.cpp:159:20: note: in instantiation of member function 'EMRTrackDense::EMRTrackDense' requested here 159 | track = new EMRTrackDense(name, DOUBLE, flags, mem, pos, sb.st_size, minid, maxid, mintime, maxtime); | ^ In file included from EMRTrack.cpp:9: In file included from ./EMRTrack.h:233: ./EMRTrackDense.h:434:36: warning: implicit conversion loses integer precision: 'long' to 'unsigned int' [-Wshorten-64-to-32] 434 | df.m_rec_idx = rec - m_recs; | ~ ~~~~^~~~~~~~ ./EMRTrackDense.h:90:19: note: in instantiation of member function 'EMRTrackDense::set_vals' requested here 90 | EMRTrackDense::EMRTrackDense(const char *name, DataType data_type, unsigned flags, void *&mem, uint64_t &pos, uint64_t size, | ^ EMRTrack.cpp:159:20: note: in instantiation of member function 'EMRTrackDense::EMRTrackDense' requested here 159 | track = new EMRTrackDense(name, DOUBLE, flags, mem, pos, sb.st_size, minid, maxid, mintime, maxtime); | ^ In file included from EMRTrack.cpp:9: ./EMRTrack.h:598:44: warning: implicit conversion turns floating-point number into integer: 'double' to 'unsigned int' [-Wfloat-conversion] 598 | unsigned cnt = unif_rand() * num_vs; | ~~~ ~~~~~~~~~~~~^~~~~~~~ ./EMRTrackDense.h:424:17: note: in instantiation of function template specialization 'EMRTrack::calc_vals::Rec *>' requested here 424 | calc_vals(df, interv, m_recs + df.m_rec_idx, m_recs + end_rec_idx); | ^ ./EMRTrackDense.h:90:19: note: in instantiation of member function 'EMRTrackDense::set_vals' requested here 90 | EMRTrackDense::EMRTrackDense(const char *name, DataType data_type, unsigned flags, void *&mem, uint64_t &pos, uint64_t size, | ^ EMRTrack.cpp:159:20: note: in instantiation of member function 'EMRTrackDense::EMRTrackDense' requested here 159 | track = new EMRTrackDense(name, DOUBLE, flags, mem, pos, sb.st_size, minid, maxid, mintime, maxtime); | ^ In file included from EMRTrack.cpp:9: ./EMRTrack.h:626:44: warning: implicit conversion turns floating-point number into integer: 'double' to 'unsigned int' [-Wfloat-conversion] 626 | unsigned cnt = unif_rand() * num_vs; | ~~~ ~~~~~~~~~~~~^~~~~~~~ In file included from EMRTrack.cpp:9: In file included from ./EMRTrack.h:233: ./EMRTrackDense.h:522:23: warning: implicit conversion loses integer precision: 'long' to 'unsigned int' [-Wshorten-64-to-32] 522 | itr.m_rec_idx = rec - m_recs; | ~ ~~~~^~~~~~~~ ./EMRTrackDense.h:90:19: note: in instantiation of member function 'EMRTrackDense::next' requested here 90 | EMRTrackDense::EMRTrackDense(const char *name, DataType data_type, unsigned flags, void *&mem, uint64_t &pos, uint64_t size, | ^ EMRTrack.cpp:159:20: note: in instantiation of member function 'EMRTrackDense::EMRTrackDense' requested here 159 | track = new EMRTrackDense(name, DOUBLE, flags, mem, pos, sb.st_size, minid, maxid, mintime, maxtime); | ^ In file included from EMRTrack.cpp:9: In file included from ./EMRTrack.h:233: ./EMRTrackDense.h:625:29: warning: implicit conversion loses integer precision: 'long' to 'unsigned int' [-Wshorten-64-to-32] 625 | itr.m_rec_idx = rec - m_recs; | ~ ~~~~^~~~~~~~ ./EMRTrackDense.h:90:19: note: in instantiation of member function 'EMRTrackDense::next' requested here 90 | EMRTrackDense::EMRTrackDense(const char *name, DataType data_type, unsigned flags, void *&mem, uint64_t &pos, uint64_t size, | ^ EMRTrack.cpp:159:20: note: in instantiation of member function 'EMRTrackDense::EMRTrackDense' requested here 159 | track = new EMRTrackDense(name, DOUBLE, flags, mem, pos, sb.st_size, minid, maxid, mintime, maxtime); | ^ 35 warnings generated. clang++ -mmacos-version-min=26 -std=gnu++20 -I"/Users/ripley/R/cxx20/include" -DNDEBUG -isystem /opt/R/arm64/include -fPIC -g -O2 -Wall -pedantic -Wconversion -Wno-sign-conversion -c FileUtils.cpp -o FileUtils.o clang++ -mmacos-version-min=26 -std=gnu++20 -I"/Users/ripley/R/cxx20/include" -DNDEBUG -isystem /opt/R/arm64/include -fPIC -g -O2 -Wall -pedantic -Wconversion -Wno-sign-conversion -c NRCovariance.cpp -o NRCovariance.o In file included from NRCovariance.cpp:15: In file included from ./BinsManager.h:7: ./BinFinder.h:43:74: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'unsigned int' [-Wshorten-64-to-32] 43 | unsigned get_numbins() const { return m_breaks.size() - 1; } | ~~~~~~ ~~~~~~~~~~~~~~~~^~~ ./BinFinder.h:64:10: warning: implicit conversion turns floating-point number into integer: 'const double' to 'bool' [-Wfloat-conversion] 64 | if (m_binsize) // are we using the same bin size for all bins? | ~~ ^~~~~~~~~ ./BinFinder.h:89:9: warning: implicit conversion turns floating-point number into integer: 'const double' to 'bool' [-Wfloat-conversion] 89 | if (m_binsize) { // are we using the same bin size for all bins? | ~~ ^~~~~~~~~ ./BinFinder.h:84:32: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 84 | return m_breaks.size() - 2; | ~~~~~~ ~~~~~~~~~~~~~~~~^~~ In file included from NRCovariance.cpp:15: In file included from ./BinsManager.h:8: In file included from ./NRTrackExpressionVars.h:23: In file included from ./EMRTrack.h:233: In file included from ./EMRTrackDense.h:7: ./EMRDb.h:289:12: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'unsigned int' [-Wshorten-64-to-32] 289 | return m_num_ids; | ~~~~~~ ^~~~~~~~~ In file included from NRCovariance.cpp:15: In file included from ./BinsManager.h:8: In file included from ./NRTrackExpressionVars.h:23: ./EMRTrack.h:598:44: warning: implicit conversion turns floating-point number into integer: 'double' to 'unsigned int' [-Wfloat-conversion] 598 | unsigned cnt = unif_rand() * num_vs; | ~~~ ~~~~~~~~~~~~^~~~~~~~ ./EMRTrack.h:626:44: warning: implicit conversion turns floating-point number into integer: 'double' to 'unsigned int' [-Wfloat-conversion] 626 | unsigned cnt = unif_rand() * num_vs; | ~~~ ~~~~~~~~~~~~^~~~~~~~ In file included from NRCovariance.cpp:15: In file included from ./BinsManager.h:8: ./NRTrackExpressionVars.h:60:60: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'unsigned int' [-Wshorten-64-to-32] 60 | unsigned get_num_track_vars() const { return m_track_vars.size(); } | ~~~~~~ ~~~~~~~~~~~~~^~~~~~ In file included from NRCovariance.cpp:15: ./BinsManager.h:30:70: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'unsigned int' [-Wshorten-64-to-32] 30 | unsigned get_num_bin_finders() const { return m_bin_finders.size(); } | ~~~~~~ ~~~~~~~~~~~~~~^~~~~~ ./BinsManager.h:53:20: warning: implicit conversion loses integer precision: 'decltype(__x.base() - __y.base())' (aka 'long') to 'int' [-Wshorten-64-to-32] 53 | int index = ival - vals.begin(); | ~~~~~ ~~~~~^~~~~~~~~~~~~~ NRCovariance.cpp:113:25: warning: implicit conversion turns floating-point number into integer: 'double' to 'bool' [-Wfloat-conversion] 113 | if (stat[N][idx]) { | ~~ ^~~~~~~~~~~~ NRCovariance.cpp:78:66: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'int' [-Wshorten-64-to-32] 78 | double x = scanner.real(num_breaks_exprs + i); | ~~~~ ~~~~~~~~~~~~~~~~~^~~ NRCovariance.cpp:79:66: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'int' [-Wshorten-64-to-32] 79 | double y = scanner.real(num_breaks_exprs + j); | ~~~~ ~~~~~~~~~~~~~~~~~^~~ 13 warnings generated. clang++ -mmacos-version-min=26 -std=gnu++20 -I"/Users/ripley/R/cxx20/include" -DNDEBUG -isystem /opt/R/arm64/include -fPIC -g -O2 -Wall -pedantic -Wconversion -Wno-sign-conversion -c NRDb.cpp -o NRDb.o In file included from NRDb.cpp:8: ./EMRDb.h:289:12: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'unsigned int' [-Wshorten-64-to-32] 289 | return m_num_ids; | ~~~~~~ ^~~~~~~~~ In file included from NRDb.cpp:10: In file included from ./EMRTrack.h:18: ./BinFinder.h:43:74: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'unsigned int' [-Wshorten-64-to-32] 43 | unsigned get_numbins() const { return m_breaks.size() - 1; } | ~~~~~~ ~~~~~~~~~~~~~~~~^~~ ./BinFinder.h:64:10: warning: implicit conversion turns floating-point number into integer: 'const double' to 'bool' [-Wfloat-conversion] 64 | if (m_binsize) // are we using the same bin size for all bins? | ~~ ^~~~~~~~~ ./BinFinder.h:89:9: warning: implicit conversion turns floating-point number into integer: 'const double' to 'bool' [-Wfloat-conversion] 89 | if (m_binsize) { // are we using the same bin size for all bins? | ~~ ^~~~~~~~~ ./BinFinder.h:84:32: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 84 | return m_breaks.size() - 2; | ~~~~~~ ~~~~~~~~~~~~~~~~^~~ In file included from NRDb.cpp:10: ./EMRTrack.h:598:44: warning: implicit conversion turns floating-point number into integer: 'double' to 'unsigned int' [-Wfloat-conversion] 598 | unsigned cnt = unif_rand() * num_vs; | ~~~ ~~~~~~~~~~~~^~~~~~~~ ./EMRTrack.h:626:44: warning: implicit conversion turns floating-point number into integer: 'double' to 'unsigned int' [-Wfloat-conversion] 626 | unsigned cnt = unif_rand() * num_vs; | ~~~ ~~~~~~~~~~~~^~~~~~~~ NRDb.cpp:264:77: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'value_type' (aka 'int') [-Wshorten-64-to-32] 264 | track_names_sizes.push_back(g_db->track_names(rootdirs[db_idx]).size()); | ~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~ 8 warnings generated. clang++ -mmacos-version-min=26 -std=gnu++20 -I"/Users/ripley/R/cxx20/include" -DNDEBUG -isystem /opt/R/arm64/include -fPIC -g -O2 -Wall -pedantic -Wconversion -Wno-sign-conversion -c NRDist.cpp -o NRDist.o In file included from NRDist.cpp:14: In file included from ./BinsManager.h:7: ./BinFinder.h:43:74: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'unsigned int' [-Wshorten-64-to-32] 43 | unsigned get_numbins() const { return m_breaks.size() - 1; } | ~~~~~~ ~~~~~~~~~~~~~~~~^~~ ./BinFinder.h:64:10: warning: implicit conversion turns floating-point number into integer: 'const double' to 'bool' [-Wfloat-conversion] 64 | if (m_binsize) // are we using the same bin size for all bins? | ~~ ^~~~~~~~~ ./BinFinder.h:89:9: warning: implicit conversion turns floating-point number into integer: 'const double' to 'bool' [-Wfloat-conversion] 89 | if (m_binsize) { // are we using the same bin size for all bins? | ~~ ^~~~~~~~~ ./BinFinder.h:84:32: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 84 | return m_breaks.size() - 2; | ~~~~~~ ~~~~~~~~~~~~~~~~^~~ In file included from NRDist.cpp:14: In file included from ./BinsManager.h:8: In file included from ./NRTrackExpressionVars.h:23: In file included from ./EMRTrack.h:233: In file included from ./EMRTrackDense.h:7: ./EMRDb.h:289:12: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'unsigned int' [-Wshorten-64-to-32] 289 | return m_num_ids; | ~~~~~~ ^~~~~~~~~ In file included from NRDist.cpp:14: In file included from ./BinsManager.h:8: In file included from ./NRTrackExpressionVars.h:23: ./EMRTrack.h:598:44: warning: implicit conversion turns floating-point number into integer: 'double' to 'unsigned int' [-Wfloat-conversion] 598 | unsigned cnt = unif_rand() * num_vs; | ~~~ ~~~~~~~~~~~~^~~~~~~~ ./EMRTrack.h:626:44: warning: implicit conversion turns floating-point number into integer: 'double' to 'unsigned int' [-Wfloat-conversion] 626 | unsigned cnt = unif_rand() * num_vs; | ~~~ ~~~~~~~~~~~~^~~~~~~~ In file included from NRDist.cpp:14: In file included from ./BinsManager.h:8: ./NRTrackExpressionVars.h:60:60: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'unsigned int' [-Wshorten-64-to-32] 60 | unsigned get_num_track_vars() const { return m_track_vars.size(); } | ~~~~~~ ~~~~~~~~~~~~~^~~~~~ In file included from NRDist.cpp:14: ./BinsManager.h:30:70: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'unsigned int' [-Wshorten-64-to-32] 30 | unsigned get_num_bin_finders() const { return m_bin_finders.size(); } | ~~~~~~ ~~~~~~~~~~~~~~^~~~~~ ./BinsManager.h:53:20: warning: implicit conversion loses integer precision: 'decltype(__x.base() - __y.base())' (aka 'long') to 'int' [-Wshorten-64-to-32] 53 | int index = ival - vals.begin(); | ~~~~~ ~~~~~^~~~~~~~~~~~~~ 10 warnings generated. clang++ -mmacos-version-min=26 -std=gnu++20 -I"/Users/ripley/R/cxx20/include" -DNDEBUG -isystem /opt/R/arm64/include -fPIC -g -O2 -Wall -pedantic -Wconversion -Wno-sign-conversion -c NRExtract.cpp -o NRExtract.o In file included from NRExtract.cpp:4: In file included from ./NRPoint.h:5: In file included from ./EMRTrack.h:18: ./BinFinder.h:43:74: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'unsigned int' [-Wshorten-64-to-32] 43 | unsigned get_numbins() const { return m_breaks.size() - 1; } | ~~~~~~ ~~~~~~~~~~~~~~~~^~~ ./BinFinder.h:64:10: warning: implicit conversion turns floating-point number into integer: 'const double' to 'bool' [-Wfloat-conversion] 64 | if (m_binsize) // are we using the same bin size for all bins? | ~~ ^~~~~~~~~ ./BinFinder.h:89:9: warning: implicit conversion turns floating-point number into integer: 'const double' to 'bool' [-Wfloat-conversion] 89 | if (m_binsize) { // are we using the same bin size for all bins? | ~~ ^~~~~~~~~ ./BinFinder.h:84:32: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 84 | return m_breaks.size() - 2; | ~~~~~~ ~~~~~~~~~~~~~~~~^~~ In file included from NRExtract.cpp:4: In file included from ./NRPoint.h:5: In file included from ./EMRTrack.h:233: In file included from ./EMRTrackDense.h:7: ./EMRDb.h:289:12: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'unsigned int' [-Wshorten-64-to-32] 289 | return m_num_ids; | ~~~~~~ ^~~~~~~~~ In file included from NRExtract.cpp:4: In file included from ./NRPoint.h:5: ./EMRTrack.h:598:44: warning: implicit conversion turns floating-point number into integer: 'double' to 'unsigned int' [-Wfloat-conversion] 598 | unsigned cnt = unif_rand() * num_vs; | ~~~ ~~~~~~~~~~~~^~~~~~~~ ./EMRTrack.h:626:44: warning: implicit conversion turns floating-point number into integer: 'double' to 'unsigned int' [-Wfloat-conversion] 626 | unsigned cnt = unif_rand() * num_vs; | ~~~ ~~~~~~~~~~~~^~~~~~~~ In file included from NRExtract.cpp:5: In file included from ./NRTrackExpressionScanner.h:14: ./NRTrackExpressionVars.h:60:60: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'unsigned int' [-Wshorten-64-to-32] 60 | unsigned get_num_track_vars() const { return m_track_vars.size(); } | ~~~~~~ ~~~~~~~~~~~~~^~~~~~ NRExtract.cpp:68:87: warning: arithmetic between different enumeration types ('NRPoint::(unnamed enum at ./NRPoint.h:11:5)' and '(unnamed enum at NRExtract.cpp:63:13)') is deprecated [-Wdeprecated-anon-enum-enum-conversion] 68 | SEXP answer = NRPoint::convert_points(out_points, NRPoint::NUM_POINT_COLS + NUM_COLS, false, do_sort, &ppoints); | ~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~ NRExtract.cpp:91:60: warning: arithmetic between different enumeration types ('NRPoint::(unnamed enum at ./NRPoint.h:11:5)' and '(unnamed enum at NRExtract.cpp:63:13)') is deprecated [-Wdeprecated-anon-enum-enum-conversion] 91 | SET_VECTOR_ELT(answer, NRPoint::NUM_POINT_COLS + EXPR, rexpr_idx); | ~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~ NRExtract.cpp:92:60: warning: arithmetic between different enumeration types ('NRPoint::(unnamed enum at ./NRPoint.h:11:5)' and '(unnamed enum at NRExtract.cpp:63:13)') is deprecated [-Wdeprecated-anon-enum-enum-conversion] 92 | SET_VECTOR_ELT(answer, NRPoint::NUM_POINT_COLS + VAL, rexpr_vals); | ~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~ 11 warnings generated. clang++ -mmacos-version-min=26 -std=gnu++20 -I"/Users/ripley/R/cxx20/include" -DNDEBUG -isystem /opt/R/arm64/include -fPIC -g -O2 -Wall -pedantic -Wconversion -Wno-sign-conversion -c NRIdTimeInterval.cpp -o NRIdTimeInterval.o In file included from NRIdTimeInterval.cpp:1: ./EMRDb.h:289:12: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'unsigned int' [-Wshorten-64-to-32] 289 | return m_num_ids; | ~~~~~~ ^~~~~~~~~ NRIdTimeInterval.cpp:51:36: warning: implicit conversion turns floating-point number into integer: 'double' to 'int' [-Wfloat-conversion] 51 | int id = Rf_isReal(rids) ? REAL(rids)[i] : INTEGER(rids)[i]; | ~~ ^~~~~~~~~~~~~ NRIdTimeInterval.cpp:52:42: warning: implicit conversion turns floating-point number into integer: 'double' to 'int' [-Wfloat-conversion] 52 | int stime = Rf_isReal(rstimes) ? REAL(rstimes)[i] : INTEGER(rstimes)[i]; | ~~~~~ ^~~~~~~~~~~~~~~~ NRIdTimeInterval.cpp:53:42: warning: implicit conversion turns floating-point number into integer: 'double' to 'int' [-Wfloat-conversion] 53 | int etime = Rf_isReal(retimes) ? REAL(retimes)[i] : INTEGER(retimes)[i]; | ~~~~~ ^~~~~~~~~~~~~~~~ 4 warnings generated. clang++ -mmacos-version-min=26 -std=gnu++20 -I"/Users/ripley/R/cxx20/include" -DNDEBUG -isystem /opt/R/arm64/include -fPIC -g -O2 -Wall -pedantic -Wconversion -Wno-sign-conversion -c NRIdsDist.cpp -o NRIdsDist.o In file included from NRIdsDist.cpp:4: In file included from ./EMRTrack.h:18: ./BinFinder.h:43:74: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'unsigned int' [-Wshorten-64-to-32] 43 | unsigned get_numbins() const { return m_breaks.size() - 1; } | ~~~~~~ ~~~~~~~~~~~~~~~~^~~ ./BinFinder.h:64:10: warning: implicit conversion turns floating-point number into integer: 'const double' to 'bool' [-Wfloat-conversion] 64 | if (m_binsize) // are we using the same bin size for all bins? | ~~ ^~~~~~~~~ ./BinFinder.h:89:9: warning: implicit conversion turns floating-point number into integer: 'const double' to 'bool' [-Wfloat-conversion] 89 | if (m_binsize) { // are we using the same bin size for all bins? | ~~ ^~~~~~~~~ ./BinFinder.h:84:32: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 84 | return m_breaks.size() - 2; | ~~~~~~ ~~~~~~~~~~~~~~~~^~~ In file included from NRIdsDist.cpp:4: In file included from ./EMRTrack.h:233: In file included from ./EMRTrackDense.h:7: ./EMRDb.h:289:12: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'unsigned int' [-Wshorten-64-to-32] 289 | return m_num_ids; | ~~~~~~ ^~~~~~~~~ In file included from NRIdsDist.cpp:4: ./EMRTrack.h:598:44: warning: implicit conversion turns floating-point number into integer: 'double' to 'unsigned int' [-Wfloat-conversion] 598 | unsigned cnt = unif_rand() * num_vs; | ~~~ ~~~~~~~~~~~~^~~~~~~~ ./EMRTrack.h:626:44: warning: implicit conversion turns floating-point number into integer: 'double' to 'unsigned int' [-Wfloat-conversion] 626 | unsigned cnt = unif_rand() * num_vs; | ~~~ ~~~~~~~~~~~~^~~~~~~~ In file included from NRIdsDist.cpp:7: In file included from ./NRTrackExpressionScanner.h:14: ./NRTrackExpressionVars.h:60:60: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'unsigned int' [-Wshorten-64-to-32] 60 | unsigned get_num_track_vars() const { return m_track_vars.size(); } | ~~~~~~ ~~~~~~~~~~~~~^~~~~~ NRIdsDist.cpp:47:38: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'value_type' (aka 'unsigned int') [-Wshorten-64-to-32] 47 | res.push_back((*itrack)->count_ids(ids)); | ~~~~~~~~~ ~~~~~~~~~~~^~~~~~~~~~~~~~ NRIdsDist.cpp:119:36: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'value_type' (aka 'unsigned int') [-Wshorten-64-to-32] 119 | res.push_back(used_ids.size()); | ~~~~~~~~~ ~~~~~~~~~^~~~~~ NRIdsDist.cpp:275:64: warning: implicit conversion loses integer precision: 'decltype(__x.base() - __y.base())' (aka 'long') to 'int' [-Wshorten-64-to-32] 275 | INTEGER(rtracks_idx)[idx] = ires - res.begin() + 1; | ~ ~~~~~~~~~~~~~~~~~~~^~~ NRIdsDist.cpp:277:52: warning: implicit conversion loses integer precision: 'const uint64_t' (aka 'const unsigned long long') to 'int' [-Wshorten-64-to-32] 277 | INTEGER(rcounts)[idx] = ivalcount->count; | ~ ~~~~~~~~~~~^~~~~ NRIdsDist.cpp:278:47: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'int' [-Wshorten-64-to-32] 278 | INTEGER(row_names)[idx] = idx + 1; | ~ ~~~~^~~ 13 warnings generated. clang++ -mmacos-version-min=26 -std=gnu++20 -I"/Users/ripley/R/cxx20/include" -DNDEBUG -isystem /opt/R/arm64/include -fPIC -g -O2 -Wall -pedantic -Wconversion -Wno-sign-conversion -c NRImport.cpp -o NRImport.o In file included from NRImport.cpp:4: ./EMRDb.h:289:12: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'unsigned int' [-Wshorten-64-to-32] 289 | return m_num_ids; | ~~~~~~ ^~~~~~~~~ In file included from NRImport.cpp:5: In file included from ./EMRTrack.h:18: ./BinFinder.h:43:74: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'unsigned int' [-Wshorten-64-to-32] 43 | unsigned get_numbins() const { return m_breaks.size() - 1; } | ~~~~~~ ~~~~~~~~~~~~~~~~^~~ ./BinFinder.h:64:10: warning: implicit conversion turns floating-point number into integer: 'const double' to 'bool' [-Wfloat-conversion] 64 | if (m_binsize) // are we using the same bin size for all bins? | ~~ ^~~~~~~~~ ./BinFinder.h:89:9: warning: implicit conversion turns floating-point number into integer: 'const double' to 'bool' [-Wfloat-conversion] 89 | if (m_binsize) { // are we using the same bin size for all bins? | ~~ ^~~~~~~~~ ./BinFinder.h:84:32: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 84 | return m_breaks.size() - 2; | ~~~~~~ ~~~~~~~~~~~~~~~~^~~ In file included from NRImport.cpp:5: ./EMRTrack.h:598:44: warning: implicit conversion turns floating-point number into integer: 'double' to 'unsigned int' [-Wfloat-conversion] 598 | unsigned cnt = unif_rand() * num_vs; | ~~~ ~~~~~~~~~~~~^~~~~~~~ ./EMRTrack.h:626:44: warning: implicit conversion turns floating-point number into integer: 'double' to 'unsigned int' [-Wfloat-conversion] 626 | unsigned cnt = unif_rand() * num_vs; | ~~~ ~~~~~~~~~~~~^~~~~~~~ NRImport.cpp:146:23: warning: implicit conversion loses floating-point precision: 'double' to 'float' [-Wimplicit-float-conversion] 146 | val = strtod(fields[NRPoint::VALUE].c_str(), &endptr); | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ NRImport.cpp:132:22: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 132 | id = strtol(fields[NRPoint::ID].c_str(), &endptr, 10); | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ NRImport.cpp:136:24: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 136 | hour = strtol(fields[NRPoint::TIME].c_str(), &endptr, 10); | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ NRImport.cpp:141:23: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 141 | ref = strtol(fields[NRPoint::REF].c_str(), &endptr, 10); | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from NRImport.cpp:5: In file included from ./EMRTrack.h:234: ./EMRTrackSparse.h:223:61: warning: implicit conversion loses floating-point precision: 'double' to 'value_type' (aka 'float') [-Wimplicit-float-conversion] 223 | percentiles.push_back((ival - vals.begin()) / (double)vals.size()); | ~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./EMRTrack.h:491:22: note: in instantiation of member function 'EMRTrackSparse::serialize' requested here 491 | EMRTrackSparse::serialize(bfile, data, num_unique_ids, flags); | ^ NRImport.cpp:179:23: note: in instantiation of function template specialization 'EMRTrack::serialize' requested here 179 | EMRTrack::serialize(tmp_filename.c_str(), categorical ? EMRTrack::IS_CATEGORICAL : 0, data); | ^ In file included from NRImport.cpp:5: In file included from ./EMRTrack.h:234: ./EMRTrackSparse.h:205:41: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'unsigned int' [-Wshorten-64-to-32] 205 | unsigned num_recs = track_data.data.size(); | ~~~~~~~~ ~~~~~~~~~~~~~~~~^~~~~~ In file included from NRImport.cpp:5: In file included from ./EMRTrack.h:233: ./EMRTrackDense.h:218:61: warning: implicit conversion loses floating-point precision: 'double' to 'value_type' (aka 'float') [-Wimplicit-float-conversion] 218 | percentiles.push_back((ival - vals.begin()) / (double)vals.size()); | ~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./EMRTrack.h:493:21: note: in instantiation of member function 'EMRTrackDense::serialize' requested here 493 | EMRTrackDense::serialize(bfile, data, minid, maxid, flags); | ^ NRImport.cpp:179:23: note: in instantiation of function template specialization 'EMRTrack::serialize' requested here 179 | EMRTrack::serialize(tmp_filename.c_str(), categorical ? EMRTrack::IS_CATEGORICAL : 0, data); | ^ In file included from NRImport.cpp:5: In file included from ./EMRTrack.h:233: ./EMRTrackDense.h:201:41: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'unsigned int' [-Wshorten-64-to-32] 201 | unsigned num_recs = track_data.data.size(); | ~~~~~~~~ ~~~~~~~~~~~~~~~~^~~~~~ 15 warnings generated. clang++ -mmacos-version-min=26 -std=gnu++20 -I"/Users/ripley/R/cxx20/include" -DNDEBUG -isystem /opt/R/arm64/include -fPIC -g -O2 -Wall -pedantic -Wconversion -Wno-sign-conversion -c NRIteratorFilter.cpp -o NRIteratorFilter.o In file included from NRIteratorFilter.cpp:1: ./EMRDb.h:289:12: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'unsigned int' [-Wshorten-64-to-32] 289 | return m_num_ids; | ~~~~~~ ^~~~~~~~~ In file included from NRIteratorFilter.cpp:4: In file included from ./EMRPointsIterator.h:4: In file included from ./EMRTrack.h:18: ./BinFinder.h:43:74: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'unsigned int' [-Wshorten-64-to-32] 43 | unsigned get_numbins() const { return m_breaks.size() - 1; } | ~~~~~~ ~~~~~~~~~~~~~~~~^~~ ./BinFinder.h:64:10: warning: implicit conversion turns floating-point number into integer: 'const double' to 'bool' [-Wfloat-conversion] 64 | if (m_binsize) // are we using the same bin size for all bins? | ~~ ^~~~~~~~~ ./BinFinder.h:89:9: warning: implicit conversion turns floating-point number into integer: 'const double' to 'bool' [-Wfloat-conversion] 89 | if (m_binsize) { // are we using the same bin size for all bins? | ~~ ^~~~~~~~~ ./BinFinder.h:84:32: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 84 | return m_breaks.size() - 2; | ~~~~~~ ~~~~~~~~~~~~~~~~^~~ In file included from NRIteratorFilter.cpp:4: In file included from ./EMRPointsIterator.h:4: ./EMRTrack.h:598:44: warning: implicit conversion turns floating-point number into integer: 'double' to 'unsigned int' [-Wfloat-conversion] 598 | unsigned cnt = unif_rand() * num_vs; | ~~~ ~~~~~~~~~~~~^~~~~~~~ ./EMRTrack.h:626:44: warning: implicit conversion turns floating-point number into integer: 'double' to 'unsigned int' [-Wfloat-conversion] 626 | unsigned cnt = unif_rand() * num_vs; | ~~~ ~~~~~~~~~~~~^~~~~~~~ NRIteratorFilter.cpp:293:12: warning: implicit conversion turns floating-point number into integer: 'double' to 'int' [-Wfloat-conversion] 293 | return expiration; | ~~~~~~ ^~~~~~~~~~ NRIteratorFilter.cpp:408:109: warning: implicit conversion turns floating-point number into integer: 'double' to 'EMRTimeStamp::Hour' (aka 'unsigned int') [-Wfloat-conversion] 408 | filter->m_itr = new EMRTrackIterator(track, filter->m_keepref, _stime, _etime, std::move(vals), expiration, op_enum); | ~~~~~~~~~~~~~~~~ ^~~~~~~~~~ NRIteratorFilter.cpp:429:121: warning: implicit conversion turns floating-point number into integer: 'double' to 'EMRTimeStamp::Hour' (aka 'unsigned int') [-Wfloat-conversion] 429 | filter->m_itr = new EMRTrackIterator(track_from_df, filter->m_keepref, _stime, _etime, std::move(vals), expiration, op_enum); //add opp enum | ~~~~~~~~~~~~~~~~ ^~~~~~~~~~ In file included from NRIteratorFilter.cpp:2: In file included from ./EMRIdTimeIntervalsIterator.h:5: In file included from ./EMRTrackExpressionIterator.h:5: ./EMRPoint.h:63:20: warning: implicit conversion loses integer precision: 'int' to 'unsigned char' [-Wimplicit-int-conversion] 63 | timestamp.init(std::forward(_t)...); | ~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~ ./EMRIdTimeIntervalsIterator.h:59:21: note: in instantiation of function template specialization 'EMRPoint::init' requested here 59 | m_point.init(m_iinterv->id, m_iinterv->tinterv.stime, m_keepref ? 0 : EMRTimeStamp::NA_REFCOUNT); | ^ In file included from NRIteratorFilter.cpp:2: In file included from ./EMRIdTimeIntervalsIterator.h:5: In file included from ./EMRTrackExpressionIterator.h:5: ./EMRPoint.h:63:20: warning: implicit conversion loses integer precision: 'int' to 'unsigned char' [-Wimplicit-int-conversion] 63 | timestamp.init(std::forward(_t)...); | ~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~ ./EMRIdTimeIntervalsIterator.h:102:21: note: in instantiation of function template specialization 'EMRPoint::init' requested here 102 | m_point.init(id, hour, m_keepref ? 0 : EMRTimeStamp::NA_REFCOUNT); | ^ In file included from NRIteratorFilter.cpp:2: In file included from ./EMRIdTimeIntervalsIterator.h:5: In file included from ./EMRTrackExpressionIterator.h:5: ./EMRPoint.h:63:20: warning: implicit conversion loses integer precision: 'int' to 'unsigned char' [-Wimplicit-int-conversion] 63 | timestamp.init(std::forward(_t)...); | ~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~ ./EMRPointsIterator.h:51:13: note: in instantiation of function template specialization 'EMRPoint::init' requested here 51 | m_point.init(-1, -1, -1); | ^ In file included from NRIteratorFilter.cpp:2: In file included from ./EMRIdTimeIntervalsIterator.h:5: In file included from ./EMRTrackExpressionIterator.h:5: ./EMRPoint.h:63:20: warning: implicit conversion loses integer precision: 'int' to 'unsigned char' [-Wimplicit-int-conversion] 63 | timestamp.init(std::forward(_t)...); | ~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~ ./EMRTrackIterator.h:52:17: note: in instantiation of function template specialization 'EMRPoint::init' requested here 52 | m_point.init(m_itr.point().id, m_itr.point().timestamp.hour(), -1); | ^ In file included from NRIteratorFilter.cpp:4: In file included from ./EMRPointsIterator.h:4: In file included from ./EMRTrack.h:234: ./EMRTrackSparse.h:165:65: warning: implicit conversion loses floating-point precision: 'double' to 'value_type' (aka 'float') [-Wimplicit-float-conversion] 165 | percentiles.push_back((ival - vals.begin()) / (double)vals.size()); | ~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./EMRTrack.h:406:21: note: in instantiation of member function 'EMRTrackSparse::EMRTrackSparse' requested here 406 | track = new EMRTrackSparse(name, base_track, data, num_unique_ids, data_type, build_percentiles, flags, minid, maxid, mintime, maxtime); | ^ ./EMRTrack.h:327:12: note: in instantiation of function template specialization 'EMRTrack::construct' requested here 327 | return construct(name, NULL, func, flags, data); | ^ NRIteratorFilter.cpp:416:43: note: in instantiation of function template specialization 'EMRTrack::construct' requested here 416 | track_from_df = EMRTrack::construct(name, EMRTrack::Func::VALUE, 0, data); | ^ In file included from NRIteratorFilter.cpp:4: In file included from ./EMRPointsIterator.h:4: In file included from ./EMRTrack.h:234: ./EMRTrackSparse.h:129:34: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'unsigned int' [-Wshorten-64-to-32] 129 | m_num_recs = track_data.data.size(); | ~ ~~~~~~~~~~~~~~~~^~~~~~ ./EMRTrackSparse.h:13:96: warning: implicit conversion loses integer precision: 'const uint64_t' (aka 'const unsigned long long') to 'unsigned int' [-Wshorten-64-to-32] 13 | virtual unsigned unique_size() const { return m_base_track ? m_base_track->unique_size() : m_num_percentiles; } | ~~~~~~ ^~~~~~~~~~~~~~~~~ ./EMRTrackSparse.h:123:20: note: in instantiation of member function 'EMRTrackSparse::unique_size' requested here 123 | EMRTrackSparse::EMRTrackSparse(const char *name, EMRTrack *base_track, EMRTrackData &track_data, unsigned num_unique_ids, DataType data_type, | ^ ./EMRTrack.h:406:21: note: in instantiation of member function 'EMRTrackSparse::EMRTrackSparse' requested here 406 | track = new EMRTrackSparse(name, base_track, data, num_unique_ids, data_type, build_percentiles, flags, minid, maxid, mintime, maxtime); | ^ ./EMRTrack.h:327:12: note: in instantiation of function template specialization 'EMRTrack::construct' requested here 327 | return construct(name, NULL, func, flags, data); | ^ NRIteratorFilter.cpp:416:43: note: in instantiation of function template specialization 'EMRTrack::construct' requested here 416 | track_from_df = EMRTrack::construct(name, EMRTrack::Func::VALUE, 0, data); | ^ In file included from NRIteratorFilter.cpp:4: In file included from ./EMRPointsIterator.h:4: In file included from ./EMRTrack.h:234: ./EMRTrackSparse.h:436:39: warning: implicit conversion loses integer precision: 'long' to 'unsigned int' [-Wshorten-64-to-32] 436 | df.m_data_idx = datum - m_data; | ~ ~~~~~~^~~~~~~~ ./EMRTrackSparse.h:123:20: note: in instantiation of member function 'EMRTrackSparse::set_vals' requested here 123 | EMRTrackSparse::EMRTrackSparse(const char *name, EMRTrack *base_track, EMRTrackData &track_data, unsigned num_unique_ids, DataType data_type, | ^ ./EMRTrack.h:406:21: note: in instantiation of member function 'EMRTrackSparse::EMRTrackSparse' requested here 406 | track = new EMRTrackSparse(name, base_track, data, num_unique_ids, data_type, build_percentiles, flags, minid, maxid, mintime, maxtime); | ^ ./EMRTrack.h:327:12: note: in instantiation of function template specialization 'EMRTrack::construct' requested here 327 | return construct(name, NULL, func, flags, data); | ^ NRIteratorFilter.cpp:416:43: note: in instantiation of function template specialization 'EMRTrack::construct' requested here 416 | track_from_df = EMRTrack::construct(name, EMRTrack::Func::VALUE, 0, data); | ^ In file included from NRIteratorFilter.cpp:4: In file included from ./EMRPointsIterator.h:4: In file included from ./EMRTrack.h:234: ./EMRTrackSparse.h:465:32: warning: implicit conversion loses integer precision: 'long' to 'unsigned int' [-Wshorten-64-to-32] 465 | df.m_rec_idx = rec - m_recs; | ~ ~~~~^~~~~~~~ ./EMRTrackSparse.h:425:13: note: in instantiation of member function 'EMRTrackSparse::set_vals4data' requested here 425 | set_vals4data(df, interv, m_data[df.m_data_idx].rec_idx + num_recs(m_data + df.m_data_idx)); | ^ ./EMRTrackSparse.h:123:20: note: in instantiation of member function 'EMRTrackSparse::set_vals' requested here 123 | EMRTrackSparse::EMRTrackSparse(const char *name, EMRTrack *base_track, EMRTrackData &track_data, unsigned num_unique_ids, DataType data_type, | ^ ./EMRTrack.h:406:21: note: in instantiation of member function 'EMRTrackSparse::EMRTrackSparse' requested here 406 | track = new EMRTrackSparse(name, base_track, data, num_unique_ids, data_type, build_percentiles, flags, minid, maxid, mintime, maxtime); | ^ ./EMRTrack.h:327:12: note: in instantiation of function template specialization 'EMRTrack::construct' requested here 327 | return construct(name, NULL, func, flags, data); | ^ NRIteratorFilter.cpp:416:43: note: in instantiation of function template specialization 'EMRTrack::construct' requested here 416 | track_from_df = EMRTrack::construct(name, EMRTrack::Func::VALUE, 0, data); | ^ In file included from NRIteratorFilter.cpp:4: In file included from ./EMRPointsIterator.h:4: ./EMRTrack.h:598:44: warning: implicit conversion turns floating-point number into integer: 'double' to 'unsigned int' [-Wfloat-conversion] 598 | unsigned cnt = unif_rand() * num_vs; | ~~~ ~~~~~~~~~~~~^~~~~~~~ ./EMRTrackSparse.h:455:13: note: in instantiation of function template specialization 'EMRTrack::calc_vals::Rec *>' requested here 455 | calc_vals(df, interv, m_recs + df.m_rec_idx, m_recs + end_rec_idx); | ^ ./EMRTrackSparse.h:425:13: note: in instantiation of member function 'EMRTrackSparse::set_vals4data' requested here 425 | set_vals4data(df, interv, m_data[df.m_data_idx].rec_idx + num_recs(m_data + df.m_data_idx)); | ^ ./EMRTrackSparse.h:123:20: note: in instantiation of member function 'EMRTrackSparse::set_vals' requested here 123 | EMRTrackSparse::EMRTrackSparse(const char *name, EMRTrack *base_track, EMRTrackData &track_data, unsigned num_unique_ids, DataType data_type, | ^ ./EMRTrack.h:406:21: note: in instantiation of member function 'EMRTrackSparse::EMRTrackSparse' requested here 406 | track = new EMRTrackSparse(name, base_track, data, num_unique_ids, data_type, build_percentiles, flags, minid, maxid, mintime, maxtime); | ^ ./EMRTrack.h:327:12: note: in instantiation of function template specialization 'EMRTrack::construct' requested here 327 | return construct(name, NULL, func, flags, data); | ^ NRIteratorFilter.cpp:416:43: note: in instantiation of function template specialization 'EMRTrack::construct' requested here 416 | track_from_df = EMRTrack::construct(name, EMRTrack::Func::VALUE, 0, data); | ^ In file included from NRIteratorFilter.cpp:4: In file included from ./EMRPointsIterator.h:4: ./EMRTrack.h:626:44: warning: implicit conversion turns floating-point number into integer: 'double' to 'unsigned int' [-Wfloat-conversion] 626 | unsigned cnt = unif_rand() * num_vs; | ~~~ ~~~~~~~~~~~~^~~~~~~~ In file included from NRIteratorFilter.cpp:4: In file included from ./EMRPointsIterator.h:4: In file included from ./EMRTrack.h:234: ./EMRTrackSparse.h:544:23: warning: implicit conversion loses integer precision: 'long' to 'unsigned int' [-Wshorten-64-to-32] 544 | itr.m_rec_idx = rec - m_recs; | ~ ~~~~^~~~~~~~ ./EMRTrackSparse.h:123:20: note: in instantiation of member function 'EMRTrackSparse::next' requested here 123 | EMRTrackSparse::EMRTrackSparse(const char *name, EMRTrack *base_track, EMRTrackData &track_data, unsigned num_unique_ids, DataType data_type, | ^ ./EMRTrack.h:406:21: note: in instantiation of member function 'EMRTrackSparse::EMRTrackSparse' requested here 406 | track = new EMRTrackSparse(name, base_track, data, num_unique_ids, data_type, build_percentiles, flags, minid, maxid, mintime, maxtime); | ^ ./EMRTrack.h:327:12: note: in instantiation of function template specialization 'EMRTrack::construct' requested here 327 | return construct(name, NULL, func, flags, data); | ^ NRIteratorFilter.cpp:416:43: note: in instantiation of function template specialization 'EMRTrack::construct' requested here 416 | track_from_df = EMRTrack::construct(name, EMRTrack::Func::VALUE, 0, data); | ^ In file included from NRIteratorFilter.cpp:4: In file included from ./EMRPointsIterator.h:4: In file included from ./EMRTrack.h:234: ./EMRTrackSparse.h:558:32: warning: implicit conversion loses integer precision: 'long' to 'unsigned int' [-Wshorten-64-to-32] 558 | itr.m_data_idx = datum - m_data; | ~ ~~~~~~^~~~~~~~ ./EMRTrackSparse.h:123:20: note: in instantiation of member function 'EMRTrackSparse::next' requested here 123 | EMRTrackSparse::EMRTrackSparse(const char *name, EMRTrack *base_track, EMRTrackData &track_data, unsigned num_unique_ids, DataType data_type, | ^ ./EMRTrack.h:406:21: note: in instantiation of member function 'EMRTrackSparse::EMRTrackSparse' requested here 406 | track = new EMRTrackSparse(name, base_track, data, num_unique_ids, data_type, build_percentiles, flags, minid, maxid, mintime, maxtime); | ^ ./EMRTrack.h:327:12: note: in instantiation of function template specialization 'EMRTrack::construct' requested here 327 | return construct(name, NULL, func, flags, data); | ^ NRIteratorFilter.cpp:416:43: note: in instantiation of function template specialization 'EMRTrack::construct' requested here 416 | track_from_df = EMRTrack::construct(name, EMRTrack::Func::VALUE, 0, data); | ^ In file included from NRIteratorFilter.cpp:4: In file included from ./EMRPointsIterator.h:4: In file included from ./EMRTrack.h:234: ./EMRTrackSparse.h:630:29: warning: implicit conversion loses integer precision: 'long' to 'unsigned int' [-Wshorten-64-to-32] 630 | itr.m_rec_idx = rec - m_recs; | ~ ~~~~^~~~~~~~ In file included from NRIteratorFilter.cpp:4: In file included from ./EMRPointsIterator.h:4: In file included from ./EMRTrack.h:233: ./EMRTrackDense.h:160:65: warning: implicit conversion loses floating-point precision: 'double' to 'value_type' (aka 'float') [-Wimplicit-float-conversion] 160 | percentiles.push_back((ival - vals.begin()) / (double)vals.size()); | ~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./EMRTrack.h:408:21: note: in instantiation of member function 'EMRTrackDense::EMRTrackDense' requested here 408 | track = new EMRTrackDense(name, base_track, data, data_type, build_percentiles, flags, minid, maxid, mintime, maxtime); | ^ ./EMRTrack.h:327:12: note: in instantiation of function template specialization 'EMRTrack::construct' requested here 327 | return construct(name, NULL, func, flags, data); | ^ NRIteratorFilter.cpp:416:43: note: in instantiation of function template specialization 'EMRTrack::construct' requested here 416 | track_from_df = EMRTrack::construct(name, EMRTrack::Func::VALUE, 0, data); | ^ In file included from NRIteratorFilter.cpp:4: In file included from ./EMRPointsIterator.h:4: In file included from ./EMRTrack.h:233: ./EMRTrackDense.h:127:34: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'unsigned int' [-Wshorten-64-to-32] 127 | m_num_recs = track_data.data.size(); | ~ ~~~~~~~~~~~~~~~~^~~~~~ ./EMRTrackDense.h:14:96: warning: implicit conversion loses integer precision: 'const uint64_t' (aka 'const unsigned long long') to 'unsigned int' [-Wshorten-64-to-32] 14 | virtual unsigned unique_size() const { return m_base_track ? m_base_track->unique_size() : m_num_percentiles; } | ~~~~~~ ^~~~~~~~~~~~~~~~~ ./EMRTrackDense.h:122:19: note: in instantiation of member function 'EMRTrackDense::unique_size' requested here 122 | EMRTrackDense::EMRTrackDense(const char *name, EMRTrack *base_track, EMRTrackData &track_data, DataType data_type, | ^ ./EMRTrack.h:408:21: note: in instantiation of member function 'EMRTrackDense::EMRTrackDense' requested here 408 | track = new EMRTrackDense(name, base_track, data, data_type, build_percentiles, flags, minid, maxid, mintime, maxtime); | ^ ./EMRTrack.h:327:12: note: in instantiation of function template specialization 'EMRTrack::construct' requested here 327 | return construct(name, NULL, func, flags, data); | ^ NRIteratorFilter.cpp:416:43: note: in instantiation of function template specialization 'EMRTrack::construct' requested here 416 | track_from_df = EMRTrack::construct(name, EMRTrack::Func::VALUE, 0, data); | ^ In file included from NRIteratorFilter.cpp:4: In file included from ./EMRPointsIterator.h:4: In file included from ./EMRTrack.h:233: ./EMRTrackDense.h:434:36: warning: implicit conversion loses integer precision: 'long' to 'unsigned int' [-Wshorten-64-to-32] 434 | df.m_rec_idx = rec - m_recs; | ~ ~~~~^~~~~~~~ ./EMRTrackDense.h:122:19: note: in instantiation of member function 'EMRTrackDense::set_vals' requested here 122 | EMRTrackDense::EMRTrackDense(const char *name, EMRTrack *base_track, EMRTrackData &track_data, DataType data_type, | ^ ./EMRTrack.h:408:21: note: in instantiation of member function 'EMRTrackDense::EMRTrackDense' requested here 408 | track = new EMRTrackDense(name, base_track, data, data_type, build_percentiles, flags, minid, maxid, mintime, maxtime); | ^ ./EMRTrack.h:327:12: note: in instantiation of function template specialization 'EMRTrack::construct' requested here 327 | return construct(name, NULL, func, flags, data); | ^ NRIteratorFilter.cpp:416:43: note: in instantiation of function template specialization 'EMRTrack::construct' requested here 416 | track_from_df = EMRTrack::construct(name, EMRTrack::Func::VALUE, 0, data); | ^ In file included from NRIteratorFilter.cpp:4: In file included from ./EMRPointsIterator.h:4: ./EMRTrack.h:598:44: warning: implicit conversion turns floating-point number into integer: 'double' to 'unsigned int' [-Wfloat-conversion] 598 | unsigned cnt = unif_rand() * num_vs; | ~~~ ~~~~~~~~~~~~^~~~~~~~ ./EMRTrackDense.h:424:17: note: in instantiation of function template specialization 'EMRTrack::calc_vals::Rec *>' requested here 424 | calc_vals(df, interv, m_recs + df.m_rec_idx, m_recs + end_rec_idx); | ^ ./EMRTrackDense.h:122:19: note: in instantiation of member function 'EMRTrackDense::set_vals' requested here 122 | EMRTrackDense::EMRTrackDense(const char *name, EMRTrack *base_track, EMRTrackData &track_data, DataType data_type, | ^ ./EMRTrack.h:408:21: note: in instantiation of member function 'EMRTrackDense::EMRTrackDense' requested here 408 | track = new EMRTrackDense(name, base_track, data, data_type, build_percentiles, flags, minid, maxid, mintime, maxtime); | ^ ./EMRTrack.h:327:12: note: in instantiation of function template specialization 'EMRTrack::construct' requested here 327 | return construct(name, NULL, func, flags, data); | ^ NRIteratorFilter.cpp:416:43: note: in instantiation of function template specialization 'EMRTrack::construct' requested here 416 | track_from_df = EMRTrack::construct(name, EMRTrack::Func::VALUE, 0, data); | ^ In file included from NRIteratorFilter.cpp:4: In file included from ./EMRPointsIterator.h:4: ./EMRTrack.h:626:44: warning: implicit conversion turns floating-point number into integer: 'double' to 'unsigned int' [-Wfloat-conversion] 626 | unsigned cnt = unif_rand() * num_vs; | ~~~ ~~~~~~~~~~~~^~~~~~~~ In file included from NRIteratorFilter.cpp:4: In file included from ./EMRPointsIterator.h:4: In file included from ./EMRTrack.h:233: ./EMRTrackDense.h:522:23: warning: implicit conversion loses integer precision: 'long' to 'unsigned int' [-Wshorten-64-to-32] 522 | itr.m_rec_idx = rec - m_recs; | ~ ~~~~^~~~~~~~ ./EMRTrackDense.h:122:19: note: in instantiation of member function 'EMRTrackDense::next' requested here 122 | EMRTrackDense::EMRTrackDense(const char *name, EMRTrack *base_track, EMRTrackData &track_data, DataType data_type, | ^ ./EMRTrack.h:408:21: note: in instantiation of member function 'EMRTrackDense::EMRTrackDense' requested here 408 | track = new EMRTrackDense(name, base_track, data, data_type, build_percentiles, flags, minid, maxid, mintime, maxtime); | ^ ./EMRTrack.h:327:12: note: in instantiation of function template specialization 'EMRTrack::construct' requested here 327 | return construct(name, NULL, func, flags, data); | ^ NRIteratorFilter.cpp:416:43: note: in instantiation of function template specialization 'EMRTrack::construct' requested here 416 | track_from_df = EMRTrack::construct(name, EMRTrack::Func::VALUE, 0, data); | ^ In file included from NRIteratorFilter.cpp:4: In file included from ./EMRPointsIterator.h:4: In file included from ./EMRTrack.h:233: ./EMRTrackDense.h:625:29: warning: implicit conversion loses integer precision: 'long' to 'unsigned int' [-Wshorten-64-to-32] 625 | itr.m_rec_idx = rec - m_recs; | ~ ~~~~^~~~~~~~ ./EMRTrackDense.h:122:19: note: in instantiation of member function 'EMRTrackDense::next' requested here 122 | EMRTrackDense::EMRTrackDense(const char *name, EMRTrack *base_track, EMRTrackData &track_data, DataType data_type, | ^ ./EMRTrack.h:408:21: note: in instantiation of member function 'EMRTrackDense::EMRTrackDense' requested here 408 | track = new EMRTrackDense(name, base_track, data, data_type, build_percentiles, flags, minid, maxid, mintime, maxtime); | ^ ./EMRTrack.h:327:12: note: in instantiation of function template specialization 'EMRTrack::construct' requested here 327 | return construct(name, NULL, func, flags, data); | ^ NRIteratorFilter.cpp:416:43: note: in instantiation of function template specialization 'EMRTrack::construct' requested here 416 | track_from_df = EMRTrack::construct(name, EMRTrack::Func::VALUE, 0, data); | ^ clang++ -mmacos-version-min=26 -std=gnu++20 -I"/Users/ripley/R/cxx20/include" -DNDEBUG -isystem /opt/R/arm64/include -fPIC -g -O2 -Wall -pedantic -Wconversion -Wno-sign-conversion -c NRLogicalTrack.cpp -o NRLogicalTrack.o In file included from NRLogicalTrack.cpp:6: ./EMRDb.h:289:12: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'unsigned int' [-Wshorten-64-to-32] 289 | return m_num_ids; | ~~~~~~ ^~~~~~~~~ In file included from NRLogicalTrack.cpp:8: In file included from ./EMRTrack.h:18: ./BinFinder.h:43:74: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'unsigned int' [-Wshorten-64-to-32] 43 | unsigned get_numbins() const { return m_breaks.size() - 1; } | ~~~~~~ ~~~~~~~~~~~~~~~~^~~ ./BinFinder.h:64:10: warning: implicit conversion turns floating-point number into integer: 'const double' to 'bool' [-Wfloat-conversion] 64 | if (m_binsize) // are we using the same bin size for all bins? | ~~ ^~~~~~~~~ ./BinFinder.h:89:9: warning: implicit conversion turns floating-point number into integer: 'const double' to 'bool' [-Wfloat-conversion] 89 | if (m_binsize) { // are we using the same bin size for all bins? | ~~ ^~~~~~~~~ ./BinFinder.h:84:32: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 84 | return m_breaks.size() - 2; | ~~~~~~ ~~~~~~~~~~~~~~~~^~~ In file included from NRLogicalTrack.cpp:8: ./EMRTrack.h:598:44: warning: implicit conversion turns floating-point number into integer: 'double' to 'unsigned int' [-Wfloat-conversion] 598 | unsigned cnt = unif_rand() * num_vs; | ~~~ ~~~~~~~~~~~~^~~~~~~~ ./EMRTrack.h:626:44: warning: implicit conversion turns floating-point number into integer: 'double' to 'unsigned int' [-Wfloat-conversion] 626 | unsigned cnt = unif_rand() * num_vs; | ~~~ ~~~~~~~~~~~~^~~~~~~~ In file included from NRLogicalTrack.cpp:10: ./NRTrackExpressionVars.h:60:60: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'unsigned int' [-Wshorten-64-to-32] 60 | unsigned get_num_track_vars() const { return m_track_vars.size(); } | ~~~~~~ ~~~~~~~~~~~~~^~~~~~ NRLogicalTrack.cpp:197:45: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'unsigned int' [-Wshorten-64-to-32] 197 | unsigned num_values = track->values.size(); | ~~~~~~~~~~ ~~~~~~~~~~~~~~^~~~~~ 9 warnings generated. clang++ -mmacos-version-min=26 -std=gnu++20 -I"/Users/ripley/R/cxx20/include" -DNDEBUG -isystem /opt/R/arm64/include -fPIC -g -O2 -Wall -pedantic -Wconversion -Wno-sign-conversion -c NRLogicalTrackInfo.cpp -o NRLogicalTrackInfo.o 32 warnings generated. clang++ -mmacos-version-min=26 -std=gnu++20 -I"/Users/ripley/R/cxx20/include" -DNDEBUG -isystem /opt/R/arm64/include -fPIC -g -O2 -Wall -pedantic -Wconversion -Wno-sign-conversion -c NRPoint.cpp -o NRPoint.o In file included from NRLogicalTrackInfo.cpp:4: In file included from ./NRTrackExpressionScanner.h:10: In file included from ./EMRTrack.h:18: ./BinFinder.h:43:74: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'unsigned int' [-Wshorten-64-to-32] 43 | unsigned get_numbins() const { return m_breaks.size() - 1; } | ~~~~~~ ~~~~~~~~~~~~~~~~^~~ ./BinFinder.h:64:10: warning: implicit conversion turns floating-point number into integer: 'const double' to 'bool' [-Wfloat-conversion] 64 | if (m_binsize) // are we using the same bin size for all bins? | ~~ ^~~~~~~~~ ./BinFinder.h:89:9: warning: implicit conversion turns floating-point number into integer: 'const double' to 'bool' [-Wfloat-conversion] 89 | if (m_binsize) { // are we using the same bin size for all bins? | ~~ ^~~~~~~~~ ./BinFinder.h:84:32: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 84 | return m_breaks.size() - 2; | ~~~~~~ ~~~~~~~~~~~~~~~~^~~ In file included from NRLogicalTrackInfo.cpp:4: In file included from ./NRTrackExpressionScanner.h:10: In file included from ./EMRTrack.h:233: In file included from ./EMRTrackDense.h:7: ./EMRDb.h:289:12: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'unsigned int' [-Wshorten-64-to-32] 289 | return m_num_ids; | ~~~~~~ ^~~~~~~~~ In file included from NRPoint.cpp:5: In file included from ./NRPoint.h:5: In file included from ./EMRTrack.h:18: ./BinFinder.h:43:74: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'unsigned int' [-Wshorten-64-to-32] 43 | unsigned get_numbins() const { return m_breaks.size() - 1; } | ~~~~~~ ~~~~~~~~~~~~~~~~^~~ ./BinFinder.h:64:10: warning: implicit conversion turns floating-point number into integer: 'const double' to 'bool' [-Wfloat-conversion] 64 | if (m_binsize) // are we using the same bin size for all bins? | ~~ ^~~~~~~~~ ./BinFinder.h:89:9: warning: implicit conversion turns floating-point number into integer: 'const double' to 'bool' [-Wfloat-conversion] 89 | if (m_binsize) { // are we using the same bin size for all bins? | ~~ ^~~~~~~~~ ./BinFinder.h:84:32: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 84 | return m_breaks.size() - 2; | ~~~~~~ ~~~~~~~~~~~~~~~~^~~ In file included from NRLogicalTrackInfo.cpp:4: In file included from ./NRTrackExpressionScanner.h:10: ./EMRTrack.h:598:44: warning: implicit conversion turns floating-point number into integer: 'double' to 'unsigned int' [-Wfloat-conversion] 598 | unsigned cnt = unif_rand() * num_vs; | ~~~ ~~~~~~~~~~~~^~~~~~~~ ./EMRTrack.h:626:44: warning: implicit conversion turns floating-point number into integer: 'double' to 'unsigned int' [-Wfloat-conversion] 626 | unsigned cnt = unif_rand() * num_vs; | ~~~ ~~~~~~~~~~~~^~~~~~~~ In file included from NRLogicalTrackInfo.cpp:4: In file included from ./NRTrackExpressionScanner.h:14: ./NRTrackExpressionVars.h:60:60: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'unsigned int' [-Wshorten-64-to-32] 60 | unsigned get_num_track_vars() const { return m_track_vars.size(); } | ~~~~~~ ~~~~~~~~~~~~~^~~~~~ NRLogicalTrackInfo.cpp:35:28: warning: implicit conversion turns floating-point number into integer: 'double' to 'value_type' (aka 'int') [-Wfloat-conversion] 35 | unique_vals.insert(v); | ~~~~~~ ^ NRLogicalTrackInfo.cpp:122:41: warning: implicit conversion turns floating-point number into integer: 'double' to 'int' [-Wfloat-conversion] 122 | INTEGER(rnum_vals)[0] = summary.num_vals; | ~ ~~~~~~~~^~~~~~~~ NRLogicalTrackInfo.cpp:124:37: warning: implicit conversion turns floating-point number into integer: 'double' to 'bool' [-Wfloat-conversion] 124 | REAL(rmin_val)[0] = summary.minval ? summary.minval : numeric_limits::quiet_NaN(); | ~~~~~~~~^~~~~~ ~ NRLogicalTrackInfo.cpp:125:37: warning: implicit conversion turns floating-point number into integer: 'double' to 'bool' [-Wfloat-conversion] 125 | REAL(rmax_val)[0] = summary.maxval ? summary.maxval : numeric_limits::quiet_NaN(); | ~~~~~~~~^~~~~~ ~ NRLogicalTrackInfo.cpp:123:60: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 123 | INTEGER(rnum_unique_vals)[0] = summary.unique_vals.size(); | ~ ~~~~~~~~~~~~~~~~~~~~^~~~~~ In file included from NRPoint.cpp:5: In file included from ./NRPoint.h:5: In file included from ./EMRTrack.h:233: In file included from ./EMRTrackDense.h:7: ./EMRDb.h:289:12: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'unsigned int' [-Wshorten-64-to-32] 289 | return m_num_ids; | ~~~~~~ ^~~~~~~~~ In file included from NRPoint.cpp:5: In file included from ./NRPoint.h:5: ./EMRTrack.h:598:44: warning: implicit conversion turns floating-point number into integer: 'double' to 'unsigned int' [-Wfloat-conversion] 598 | unsigned cnt = unif_rand() * num_vs; | ~~~ ~~~~~~~~~~~~^~~~~~~~ ./EMRTrack.h:626:44: warning: implicit conversion turns floating-point number into integer: 'double' to 'unsigned int' [-Wfloat-conversion] 626 | unsigned cnt = unif_rand() * num_vs; | ~~~ ~~~~~~~~~~~~^~~~~~~~ NRPoint.cpp:59:35: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'int' [-Wshorten-64-to-32] 59 | INTEGER(row_names)[i] = i + 1; | ~ ~~^~~ NRPoint.cpp:139:35: warning: implicit conversion turns floating-point number into integer: 'double' to 'int' [-Wfloat-conversion] 139 | int id = Rf_isReal(ids) ? REAL(ids)[i] : INTEGER(ids)[i]; | ~~ ^~~~~~~~~~~~ NRPoint.cpp:140:39: warning: implicit conversion turns floating-point number into integer: 'double' to 'int' [-Wfloat-conversion] 140 | int hour = Rf_isReal(hours) ? REAL(hours)[i] : INTEGER(hours)[i]; | ~~~~ ^~~~~~~~~~~~~~ NRPoint.cpp:144:37: warning: implicit conversion turns floating-point number into integer: 'double' to 'int' [-Wfloat-conversion] 144 | ref = Rf_isReal(refs) ? REAL(refs)[i] : INTEGER(refs)[i]; | ~ ^~~~~~~~~~~~~ NRPoint.cpp:178:43: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'int' [-Wshorten-64-to-32] 178 | INTEGER(row_names)[index] = index + 1; | ~ ~~~~~~^~~ 13 warnings generated. clang++ -mmacos-version-min=26 -std=gnu++20 -I"/Users/ripley/R/cxx20/include" -DNDEBUG -isystem /opt/R/arm64/include -fPIC -g -O2 -Wall -pedantic -Wconversion -Wno-sign-conversion -c NRQuantiles.cpp -o NRQuantiles.o 12 warnings generated. clang++ -mmacos-version-min=26 -std=gnu++20 -I"/Users/ripley/R/cxx20/include" -DNDEBUG -isystem /opt/R/arm64/include -fPIC -g -O2 -Wall -pedantic -Wconversion -Wno-sign-conversion -c NRScreen.cpp -o NRScreen.o In file included from NRQuantiles.cpp:4: In file included from ./NRTrackExpressionScanner.h:10: In file included from ./EMRTrack.h:18: ./BinFinder.h:43:74: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'unsigned int' [-Wshorten-64-to-32] 43 | unsigned get_numbins() const { return m_breaks.size() - 1; } | ~~~~~~ ~~~~~~~~~~~~~~~~^~~ ./BinFinder.h:64:10: warning: implicit conversion turns floating-point number into integer: 'const double' to 'bool' [-Wfloat-conversion] 64 | if (m_binsize) // are we using the same bin size for all bins? | ~~ ^~~~~~~~~ ./BinFinder.h:89:9: warning: implicit conversion turns floating-point number into integer: 'const double' to 'bool' [-Wfloat-conversion] 89 | if (m_binsize) { // are we using the same bin size for all bins? | ~~ ^~~~~~~~~ ./BinFinder.h:84:32: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 84 | return m_breaks.size() - 2; | ~~~~~~ ~~~~~~~~~~~~~~~~^~~ In file included from NRScreen.cpp:2: In file included from ./NRPoint.h:5: In file included from ./EMRTrack.h:18: ./BinFinder.h:43:74: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'unsigned int' [-Wshorten-64-to-32] 43 | unsigned get_numbins() const { return m_breaks.size() - 1; } | ~~~~~~ ~~~~~~~~~~~~~~~~^~~ ./BinFinder.h:64:10: warning: implicit conversion turns floating-point number into integer: 'const double' to 'bool' [-Wfloat-conversion] 64 | if (m_binsize) // are we using the same bin size for all bins? | ~~ ^~~~~~~~~ ./BinFinder.h:89:9: warning: implicit conversion turns floating-point number into integer: 'const double' to 'bool' [-Wfloat-conversion] 89 | if (m_binsize) { // are we using the same bin size for all bins? | ~~ ^~~~~~~~~ ./BinFinder.h:84:32: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 84 | return m_breaks.size() - 2; | ~~~~~~ ~~~~~~~~~~~~~~~~^~~ In file included from NRQuantiles.cpp:4: In file included from ./NRTrackExpressionScanner.h:10: In file included from ./EMRTrack.h:233: In file included from ./EMRTrackDense.h:7: ./EMRDb.h:289:12: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'unsigned int' [-Wshorten-64-to-32] 289 | return m_num_ids; | ~~~~~~ ^~~~~~~~~ In file included from NRScreen.cpp:2: In file included from ./NRPoint.h:5: In file included from ./EMRTrack.h:233: In file included from ./EMRTrackDense.h:7: ./EMRDb.h:289:12: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'unsigned int' [-Wshorten-64-to-32] 289 | return m_num_ids; | ~~~~~~ ^~~~~~~~~ In file included from NRQuantiles.cpp:4: In file included from ./NRTrackExpressionScanner.h:10: ./EMRTrack.h:598:44: warning: implicit conversion turns floating-point number into integer: 'double' to 'unsigned int' [-Wfloat-conversion] 598 | unsigned cnt = unif_rand() * num_vs; | ~~~ ~~~~~~~~~~~~^~~~~~~~ ./EMRTrack.h:626:44: warning: implicit conversion turns floating-point number into integer: 'double' to 'unsigned int' [-Wfloat-conversion] 626 | unsigned cnt = unif_rand() * num_vs; | ~~~ ~~~~~~~~~~~~^~~~~~~~ In file included from NRQuantiles.cpp:4: In file included from ./NRTrackExpressionScanner.h:14: ./NRTrackExpressionVars.h:60:60: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'unsigned int' [-Wshorten-64-to-32] 60 | unsigned get_num_track_vars() const { return m_track_vars.size(); } | ~~~~~~ ~~~~~~~~~~~~~^~~~~~ In file included from NRScreen.cpp:2: In file included from ./NRPoint.h:5: ./EMRTrack.h:598:44: warning: implicit conversion turns floating-point number into integer: 'double' to 'unsigned int' [-Wfloat-conversion] 598 | unsigned cnt = unif_rand() * num_vs; | ~~~ ~~~~~~~~~~~~^~~~~~~~ ./EMRTrack.h:626:44: warning: implicit conversion turns floating-point number into integer: 'double' to 'unsigned int' [-Wfloat-conversion] 626 | unsigned cnt = unif_rand() * num_vs; | ~~~ ~~~~~~~~~~~~^~~~~~~~ NRQuantiles.cpp:47:74: warning: 'operator>=' is deprecated [-Wdeprecated-declarations] 47 | for (vector::iterator ip = percentiles.end() - 2; ip >= percentiles.begin(); --ip) { | ^ /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/rel_ops.h:38:63: note: 'operator>=' has been explicitly marked deprecated here 38 | inline _LIBCPP_DEPRECATED_IN_CXX20 _LIBCPP_HIDE_FROM_ABI bool operator>=(const _Tp& __x, const _Tp& __y) { | ^ NRQuantiles.cpp:47:74: warning: 'operator>=>' is deprecated [-Wdeprecated-declarations] 47 | for (vector::iterator ip = percentiles.end() - 2; ip >= percentiles.begin(); --ip) { | ^ /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/rel_ops.h:38:8: note: 'operator>=>' has been explicitly marked deprecated here 38 | inline _LIBCPP_DEPRECATED_IN_CXX20 _LIBCPP_HIDE_FROM_ABI bool operator>=(const _Tp& __x, const _Tp& __y) { | ^ /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__config:743:41: note: expanded from macro '_LIBCPP_DEPRECATED_IN_CXX20' 743 | # define _LIBCPP_DEPRECATED_IN_CXX20 _LIBCPP_DEPRECATED | ^ /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__config:710:49: note: expanded from macro '_LIBCPP_DEPRECATED' 710 | # define _LIBCPP_DEPRECATED __attribute__((__deprecated__)) | ^ In file included from NRScreen.cpp:3: In file included from ./NRTrackExpressionScanner.h:14: ./NRTrackExpressionVars.h:60:60: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'unsigned int' [-Wshorten-64-to-32] 60 | unsigned get_num_track_vars() const { return m_track_vars.size(); } | ~~~~~~ ~~~~~~~~~~~~~^~~~~~ NRQuantiles.cpp:85:33: warning: implicit conversion loses floating-point precision: 'double' to 'float' [-Wimplicit-float-conversion] 85 | float val = scanner.real(); | ~~~ ~~~~~~~~^~~~~~ 8 warnings generated. clang++ -mmacos-version-min=26 -std=gnu++20 -I"/Users/ripley/R/cxx20/include" -DNDEBUG -isystem /opt/R/arm64/include -fPIC -g -O2 -Wall -pedantic -Wconversion -Wno-sign-conversion -c NRSummary.cpp -o NRSummary.o 11 warnings generated. In file included from NRSummary.cpp:4: In file included from ./NRTrackExpressionScanner.h:10: In file included from ./EMRTrack.h:18: ./BinFinder.h:43:74: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'unsigned int' [-Wshorten-64-to-32] 43 | unsigned get_numbins() const { return m_breaks.size() - 1; } | ~~~~~~ ~~~~~~~~~~~~~~~~^~~ ./BinFinder.h:64:10: warning: implicit conversion turns floating-point number into integer: 'const double' to 'bool' [-Wfloat-conversion] 64 | if (m_binsize) // are we using the same bin size for all bins? | ~~ ^~~~~~~~~ ./BinFinder.h:89:9: warning: implicit conversion turns floating-point number into integer: 'const double' to 'bool' [-Wfloat-conversion] 89 | if (m_binsize) { // are we using the same bin size for all bins? | ~~ ^~~~~~~~~ ./BinFinder.h:84:32: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 84 | return m_breaks.size() - 2; | ~~~~~~ ~~~~~~~~~~~~~~~~^~~ In file included from NRSummary.cpp:4: In file included from ./NRTrackExpressionScanner.h:10: In file included from ./EMRTrack.h:233: In file included from ./EMRTrackDense.h:7: ./EMRDb.h:289:12: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'unsigned int' [-Wshorten-64-to-32] 289 | return m_num_ids; | ~~~~~~ ^~~~~~~~~ In file included from NRSummary.cpp:4: In file included from ./NRTrackExpressionScanner.h:10: ./EMRTrack.h:598:44: warning: implicit conversion turns floating-point number into integer: 'double' to 'unsigned int' [-Wfloat-conversion] 598 | unsigned cnt = unif_rand() * num_vs; | ~~~ ~~~~~~~~~~~~^~~~~~~~ ./EMRTrack.h:626:44: warning: implicit conversion turns floating-point number into integer: 'double' to 'unsigned int' [-Wfloat-conversion] 626 | unsigned cnt = unif_rand() * num_vs; | ~~~ ~~~~~~~~~~~~^~~~~~~~ In file included from NRSummary.cpp:4: In file included from ./NRTrackExpressionScanner.h:14: ./NRTrackExpressionVars.h:60:60: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'unsigned int' [-Wshorten-64-to-32] 60 | unsigned get_num_track_vars() const { return m_track_vars.size(); } | ~~~~~~ ~~~~~~~~~~~~~^~~~~~ NRSummary.cpp:90:37: warning: implicit conversion turns floating-point number into integer: 'double' to 'bool' [-Wfloat-conversion] 90 | REAL(answer)[MIN] = summary.num_non_nan_bins ? summary.minval : numeric_limits::quiet_NaN(); | ~~~~~~~~^~~~~~~~~~~~~~~~ ~ NRSummary.cpp:91:37: warning: implicit conversion turns floating-point number into integer: 'double' to 'bool' [-Wfloat-conversion] 91 | REAL(answer)[MAX] = summary.num_non_nan_bins ? summary.maxval : numeric_limits::quiet_NaN(); | ~~~~~~~~^~~~~~~~~~~~~~~~ ~ NRSummary.cpp:92:37: warning: implicit conversion turns floating-point number into integer: 'double' to 'bool' [-Wfloat-conversion] 92 | REAL(answer)[SUM] = summary.num_non_nan_bins ? summary.total : numeric_limits::quiet_NaN(); | ~~~~~~~~^~~~~~~~~~~~~~~~ ~ NRSummary.cpp:93:38: warning: implicit conversion turns floating-point number into integer: 'double' to 'bool' [-Wfloat-conversion] 93 | REAL(answer)[MEAN] = summary.num_non_nan_bins ? summary.get_mean() : numeric_limits::quiet_NaN(); | ~~~~~~~~^~~~~~~~~~~~~~~~ ~ 12 warnings generated. clang++ -mmacos-version-min=26 -std=gnu++20 -I"/Users/ripley/R/cxx20/include" -DNDEBUG -isystem /opt/R/arm64/include -fPIC -g -O2 -Wall -pedantic -Wconversion -Wno-sign-conversion -c NRTest.cpp -o NRTest.o In file included from NRTest.cpp:8: ./EMRDb.h:289:12: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'unsigned int' [-Wshorten-64-to-32] 289 | return m_num_ids; | ~~~~~~ ^~~~~~~~~ In file included from NRTest.cpp:11: In file included from ./EMRTrack.h:18: ./BinFinder.h:43:74: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'unsigned int' [-Wshorten-64-to-32] 43 | unsigned get_numbins() const { return m_breaks.size() - 1; } | ~~~~~~ ~~~~~~~~~~~~~~~~^~~ ./BinFinder.h:64:10: warning: implicit conversion turns floating-point number into integer: 'const double' to 'bool' [-Wfloat-conversion] 64 | if (m_binsize) // are we using the same bin size for all bins? | ~~ ^~~~~~~~~ ./BinFinder.h:89:9: warning: implicit conversion turns floating-point number into integer: 'const double' to 'bool' [-Wfloat-conversion] 89 | if (m_binsize) { // are we using the same bin size for all bins? | ~~ ^~~~~~~~~ ./BinFinder.h:84:32: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 84 | return m_breaks.size() - 2; | ~~~~~~ ~~~~~~~~~~~~~~~~^~~ In file included from NRTest.cpp:11: ./EMRTrack.h:598:44: warning: implicit conversion turns floating-point number into integer: 'double' to 'unsigned int' [-Wfloat-conversion] 598 | unsigned cnt = unif_rand() * num_vs; | ~~~ ~~~~~~~~~~~~^~~~~~~~ ./EMRTrack.h:626:44: warning: implicit conversion turns floating-point number into integer: 'double' to 'unsigned int' [-Wfloat-conversion] 626 | unsigned cnt = unif_rand() * num_vs; | ~~~ ~~~~~~~~~~~~^~~~~~~~ In file included from NRTest.cpp:10: In file included from ./EMRTimesIterator.h:5: In file included from ./EMRTrackExpressionIterator.h:5: ./EMRPoint.h:63:20: warning: implicit conversion loses integer precision: 'int' to 'unsigned char' [-Wimplicit-int-conversion] 63 | timestamp.init(std::forward(_t)...); | ~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~ ./EMRTimesIterator.h:117:21: note: in instantiation of function template specialization 'EMRPoint::init' requested here 117 | m_point.init(jumpto.id, hour, m_keepref ? 0 : EMRTimeStamp::NA_REFCOUNT); | ^ In file included from NRTest.cpp:10: In file included from ./EMRTimesIterator.h:5: In file included from ./EMRTrackExpressionIterator.h:5: ./EMRPoint.h:63:20: warning: implicit conversion loses integer precision: 'int' to 'unsigned char' [-Wimplicit-int-conversion] 63 | timestamp.init(std::forward(_t)...); | ~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~ ./EMRTimesIterator.h:125:21: note: in instantiation of function template specialization 'EMRPoint::init' requested here 125 | m_point.init(jumpto.id, m_iinterv->stime, m_keepref ? 0 : EMRTimeStamp::NA_REFCOUNT); | ^ In file included from NRTest.cpp:10: In file included from ./EMRTimesIterator.h:5: In file included from ./EMRTrackExpressionIterator.h:5: ./EMRPoint.h:63:20: warning: implicit conversion loses integer precision: 'int' to 'unsigned char' [-Wimplicit-int-conversion] 63 | timestamp.init(std::forward(_t)...); | ~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~ ./EMRTrackIterator.h:52:17: note: in instantiation of function template specialization 'EMRPoint::init' requested here 52 | m_point.init(m_itr.point().id, m_itr.point().timestamp.hour(), -1); | ^ 10 warnings generated. clang++ -mmacos-version-min=26 -std=gnu++20 -I"/Users/ripley/R/cxx20/include" -DNDEBUG -isystem /opt/R/arm64/include -fPIC -g -O2 -Wall -pedantic -Wconversion -Wno-sign-conversion -c NRTimeConverter.cpp -o NRTimeConverter.o NRTimeConverter.cpp:246:70: warning: implicit conversion turns floating-point number into integer: 'double' to 'unsigned int' [-Wfloat-conversion] 246 | INTEGER(answer)[i] = date2time(hour, day - 1, month - 1, year); | ~~~~~~~~~ ^~~~ NRTimeConverter.cpp:246:65: warning: implicit conversion turns floating-point number into integer: 'double' to 'unsigned int' [-Wfloat-conversion] 246 | INTEGER(answer)[i] = date2time(hour, day - 1, month - 1, year); | ~~~~~~~~~ ~~~~~~^~~ NRTimeConverter.cpp:246:54: warning: implicit conversion turns floating-point number into integer: 'double' to 'unsigned int' [-Wfloat-conversion] 246 | INTEGER(answer)[i] = date2time(hour, day - 1, month - 1, year); | ~~~~~~~~~ ~~~~^~~ NRTimeConverter.cpp:246:44: warning: implicit conversion turns floating-point number into integer: 'double' to 'unsigned int' [-Wfloat-conversion] 246 | INTEGER(answer)[i] = date2time(hour, day - 1, month - 1, year); | ~~~~~~~~~ ^~~~ 4 warnings generated. clang++ -mmacos-version-min=26 -std=gnu++20 -I"/Users/ripley/R/cxx20/include" -DNDEBUG -isystem /opt/R/arm64/include -fPIC -g -O2 -Wall -pedantic -Wconversion -Wno-sign-conversion -c NRTimeInterval.cpp -o NRTimeInterval.o NRTimeInterval.cpp:48:42: warning: implicit conversion turns floating-point number into integer: 'double' to 'int' [-Wfloat-conversion] 48 | int stime = Rf_isReal(rstimes) ? REAL(rstimes)[i] : INTEGER(rstimes)[i]; | ~~~~~ ^~~~~~~~~~~~~~~~ NRTimeInterval.cpp:49:42: warning: implicit conversion turns floating-point number into integer: 'double' to 'int' [-Wfloat-conversion] 49 | int etime = Rf_isReal(retimes) ? REAL(retimes)[i] : INTEGER(retimes)[i]; | ~~~~~ ^~~~~~~~~~~~~~~~ 2 warnings generated. clang++ -mmacos-version-min=26 -std=gnu++20 -I"/Users/ripley/R/cxx20/include" -DNDEBUG -isystem /opt/R/arm64/include -fPIC -g -O2 -Wall -pedantic -Wconversion -Wno-sign-conversion -c NRTrack.cpp -o NRTrack.o In file included from NRTrack.cpp:18: ./EMRDb.h:289:12: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'unsigned int' [-Wshorten-64-to-32] 289 | return m_num_ids; | ~~~~~~ ^~~~~~~~~ In file included from NRTrack.cpp:19: In file included from ./EMRTrack.h:18: ./BinFinder.h:43:74: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'unsigned int' [-Wshorten-64-to-32] 43 | unsigned get_numbins() const { return m_breaks.size() - 1; } | ~~~~~~ ~~~~~~~~~~~~~~~~^~~ ./BinFinder.h:64:10: warning: implicit conversion turns floating-point number into integer: 'const double' to 'bool' [-Wfloat-conversion] 64 | if (m_binsize) // are we using the same bin size for all bins? | ~~ ^~~~~~~~~ ./BinFinder.h:89:9: warning: implicit conversion turns floating-point number into integer: 'const double' to 'bool' [-Wfloat-conversion] 89 | if (m_binsize) { // are we using the same bin size for all bins? | ~~ ^~~~~~~~~ ./BinFinder.h:84:32: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 84 | return m_breaks.size() - 2; | ~~~~~~ ~~~~~~~~~~~~~~~~^~~ In file included from NRTrack.cpp:19: ./EMRTrack.h:598:44: warning: implicit conversion turns floating-point number into integer: 'double' to 'unsigned int' [-Wfloat-conversion] 598 | unsigned cnt = unif_rand() * num_vs; | ~~~ ~~~~~~~~~~~~^~~~~~~~ ./EMRTrack.h:626:44: warning: implicit conversion turns floating-point number into integer: 'double' to 'unsigned int' [-Wfloat-conversion] 626 | unsigned cnt = unif_rand() * num_vs; | ~~~ ~~~~~~~~~~~~^~~~~~~~ 7 warnings generated. clang++ -mmacos-version-min=26 -std=gnu++20 -I"/Users/ripley/R/cxx20/include" -DNDEBUG -isystem /opt/R/arm64/include -fPIC -g -O2 -Wall -pedantic -Wconversion -Wno-sign-conversion -c NRTrackCreate.cpp -o NRTrackCreate.o In file included from NRTrackCreate.cpp:14: ./EMRDb.h:289:12: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'unsigned int' [-Wshorten-64-to-32] 289 | return m_num_ids; | ~~~~~~ ^~~~~~~~~ In file included from NRTrackCreate.cpp:15: In file included from ./EMRTrack.h:18: ./BinFinder.h:43:74: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'unsigned int' [-Wshorten-64-to-32] 43 | unsigned get_numbins() const { return m_breaks.size() - 1; } | ~~~~~~ ~~~~~~~~~~~~~~~~^~~ ./BinFinder.h:64:10: warning: implicit conversion turns floating-point number into integer: 'const double' to 'bool' [-Wfloat-conversion] 64 | if (m_binsize) // are we using the same bin size for all bins? | ~~ ^~~~~~~~~ ./BinFinder.h:89:9: warning: implicit conversion turns floating-point number into integer: 'const double' to 'bool' [-Wfloat-conversion] 89 | if (m_binsize) { // are we using the same bin size for all bins? | ~~ ^~~~~~~~~ ./BinFinder.h:84:32: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 84 | return m_breaks.size() - 2; | ~~~~~~ ~~~~~~~~~~~~~~~~^~~ In file included from NRTrackCreate.cpp:15: ./EMRTrack.h:598:44: warning: implicit conversion turns floating-point number into integer: 'double' to 'unsigned int' [-Wfloat-conversion] 598 | unsigned cnt = unif_rand() * num_vs; | ~~~ ~~~~~~~~~~~~^~~~~~~~ ./EMRTrack.h:626:44: warning: implicit conversion turns floating-point number into integer: 'double' to 'unsigned int' [-Wfloat-conversion] 626 | unsigned cnt = unif_rand() * num_vs; | ~~~ ~~~~~~~~~~~~^~~~~~~~ In file included from NRTrackCreate.cpp:17: In file included from ./NRTrackExpressionScanner.h:14: ./NRTrackExpressionVars.h:60:60: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'unsigned int' [-Wshorten-64-to-32] 60 | unsigned get_num_track_vars() const { return m_track_vars.size(); } | ~~~~~~ ~~~~~~~~~~~~~^~~~~~ NRTrackCreate.cpp:84:77: warning: implicit conversion loses floating-point precision: 'double' to 'float' [-Wimplicit-float-conversion] 84 | data.add(scanner.point().id, scanner.point().timestamp, scanner.real()); | ~~~ ~~~~~~~~^~~~~~ In file included from NRTrackCreate.cpp:15: In file included from ./EMRTrack.h:234: ./EMRTrackSparse.h:223:61: warning: implicit conversion loses floating-point precision: 'double' to 'value_type' (aka 'float') [-Wimplicit-float-conversion] 223 | percentiles.push_back((ival - vals.begin()) / (double)vals.size()); | ~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./EMRTrack.h:491:22: note: in instantiation of member function 'EMRTrackSparse::serialize' requested here 491 | EMRTrackSparse::serialize(bfile, data, num_unique_ids, flags); | ^ NRTrackCreate.cpp:88:19: note: in instantiation of function template specialization 'EMRTrack::serialize' requested here 88 | EMRTrack::serialize(track_filename.c_str(), categorical, data); | ^ In file included from NRTrackCreate.cpp:15: In file included from ./EMRTrack.h:234: ./EMRTrackSparse.h:205:41: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'unsigned int' [-Wshorten-64-to-32] 205 | unsigned num_recs = track_data.data.size(); | ~~~~~~~~ ~~~~~~~~~~~~~~~~^~~~~~ In file included from NRTrackCreate.cpp:15: In file included from ./EMRTrack.h:233: ./EMRTrackDense.h:218:61: warning: implicit conversion loses floating-point precision: 'double' to 'value_type' (aka 'float') [-Wimplicit-float-conversion] 218 | percentiles.push_back((ival - vals.begin()) / (double)vals.size()); | ~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./EMRTrack.h:493:21: note: in instantiation of member function 'EMRTrackDense::serialize' requested here 493 | EMRTrackDense::serialize(bfile, data, minid, maxid, flags); | ^ NRTrackCreate.cpp:88:19: note: in instantiation of function template specialization 'EMRTrack::serialize' requested here 88 | EMRTrack::serialize(track_filename.c_str(), categorical, data); | ^ In file included from NRTrackCreate.cpp:15: In file included from ./EMRTrack.h:233: ./EMRTrackDense.h:201:41: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'unsigned int' [-Wshorten-64-to-32] 201 | unsigned num_recs = track_data.data.size(); | ~~~~~~~~ ~~~~~~~~~~~~~~~~^~~~~~ 13 warnings generated. clang++ -mmacos-version-min=26 -std=gnu++20 -I"/Users/ripley/R/cxx20/include" -DNDEBUG -isystem /opt/R/arm64/include -fPIC -g -O2 -Wall -pedantic -Wconversion -Wno-sign-conversion -c NRTrackExpressionScanner.cpp -o NRTrackExpressionScanner.o In file included from NRTrackExpressionScanner.cpp:7: In file included from ./EMRBeatIterator.h:6: In file included from ./EMRTrackExpressionIterator.h:4: ./EMRDb.h:289:12: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'unsigned int' [-Wshorten-64-to-32] 289 | return m_num_ids; | ~~~~~~ ^~~~~~~~~ In file included from NRTrackExpressionScanner.cpp:11: In file included from ./EMRPointsIterator.h:4: In file included from ./EMRTrack.h:18: ./BinFinder.h:43:74: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'unsigned int' [-Wshorten-64-to-32] 43 | unsigned get_numbins() const { return m_breaks.size() - 1; } | ~~~~~~ ~~~~~~~~~~~~~~~~^~~ ./BinFinder.h:64:10: warning: implicit conversion turns floating-point number into integer: 'const double' to 'bool' [-Wfloat-conversion] 64 | if (m_binsize) // are we using the same bin size for all bins? | ~~ ^~~~~~~~~ ./BinFinder.h:89:9: warning: implicit conversion turns floating-point number into integer: 'const double' to 'bool' [-Wfloat-conversion] 89 | if (m_binsize) { // are we using the same bin size for all bins? | ~~ ^~~~~~~~~ ./BinFinder.h:84:32: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 84 | return m_breaks.size() - 2; | ~~~~~~ ~~~~~~~~~~~~~~~~^~~ In file included from NRTrackExpressionScanner.cpp:11: In file included from ./EMRPointsIterator.h:4: ./EMRTrack.h:598:44: warning: implicit conversion turns floating-point number into integer: 'double' to 'unsigned int' [-Wfloat-conversion] 598 | unsigned cnt = unif_rand() * num_vs; | ~~~ ~~~~~~~~~~~~^~~~~~~~ ./EMRTrack.h:626:44: warning: implicit conversion turns floating-point number into integer: 'double' to 'unsigned int' [-Wfloat-conversion] 626 | unsigned cnt = unif_rand() * num_vs; | ~~~ ~~~~~~~~~~~~^~~~~~~~ In file included from NRTrackExpressionScanner.cpp:19: In file included from ./NRTrackExpressionScanner.h:14: ./NRTrackExpressionVars.h:60:60: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'unsigned int' [-Wshorten-64-to-32] 60 | unsigned get_num_track_vars() const { return m_track_vars.size(); } | ~~~~~~ ~~~~~~~~~~~~~^~~~~~ NRTrackExpressionScanner.cpp:153:52: warning: 'operator>=' is deprecated [-Wdeprecated-declarations] 153 | for (istr_end = iexpr->end() - 1; istr_end >= iexpr->begin(); --istr_end) { | ^ /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/rel_ops.h:38:63: note: 'operator>=' has been explicitly marked deprecated here 38 | inline _LIBCPP_DEPRECATED_IN_CXX20 _LIBCPP_HIDE_FROM_ABI bool operator>=(const _Tp& __x, const _Tp& __y) { | ^ NRTrackExpressionScanner.cpp:153:52: warning: 'operator>=>' is deprecated [-Wdeprecated-declarations] 153 | for (istr_end = iexpr->end() - 1; istr_end >= iexpr->begin(); --istr_end) { | ^ /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/rel_ops.h:38:8: note: 'operator>=>' has been explicitly marked deprecated here 38 | inline _LIBCPP_DEPRECATED_IN_CXX20 _LIBCPP_HIDE_FROM_ABI bool operator>=(const _Tp& __x, const _Tp& __y) { | ^ /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__config:743:41: note: expanded from macro '_LIBCPP_DEPRECATED_IN_CXX20' 743 | # define _LIBCPP_DEPRECATED_IN_CXX20 _LIBCPP_DEPRECATED | ^ /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__config:710:49: note: expanded from macro '_LIBCPP_DEPRECATED' 710 | # define _LIBCPP_DEPRECATED __attribute__((__deprecated__)) | ^ NRTrackExpressionScanner.cpp:269:13: warning: implicit conversion turns floating-point number into integer: 'double' to 'bool' [-Wfloat-conversion] 269 | if (delta) | ~~ ^~~~~ NRTrackExpressionScanner.cpp:282:60: warning: implicit conversion turns floating-point number into integer: 'double' to 'int' [-Wfloat-conversion] 282 | progress = Naryn::itr_idx_sum() * 100. / (m_itr.itr().size() * Naryn::num_kids()); | ~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ NRTrackExpressionScanner.cpp:305:34: warning: implicit conversion turns floating-point number into integer: 'double' to 'bool' [-Wfloat-conversion] 305 | uint64_t estimated_runtime = progress ? CHECK_MULTITASKING_TIME + CHECK_MULTITASKING_TIME / progress : MIN_MULTITASKING_TIME; | ^~~~~~~~ ~ NRTrackExpressionScanner.cpp:305:69: warning: implicit conversion turns floating-point number into integer: 'double' to 'uint64_t' (aka 'unsigned long long') [-Wfloat-conversion] 305 | uint64_t estimated_runtime = progress ? CHECK_MULTITASKING_TIME + CHECK_MULTITASKING_TIME / progress : MIN_MULTITASKING_TIME; | ~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ NRTrackExpressionScanner.cpp:333:34: warning: implicit conversion turns floating-point number into integer: 'double' to 'int' [-Wfloat-conversion] 333 | int num_kids = min_processes + (double)(max_processes - min_processes) * (estimated_runtime - MIN_MULTITASKING_TIME) / (double)(MAX_MULTITASKING_TIME - MIN_MULTITASKING_TIME); | ~~~~~~~~ ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from NRTrackExpressionScanner.cpp:7: In file included from ./EMRBeatIterator.h:6: In file included from ./EMRTrackExpressionIterator.h:5: ./EMRPoint.h:63:20: warning: implicit conversion loses integer precision: 'int' to 'unsigned char' [-Wimplicit-int-conversion] 63 | timestamp.init(std::forward(_t)...); | ~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~ ./EMRBeatIterator.h:98:21: note: in instantiation of function template specialization 'EMRPoint::init' requested here 98 | m_point.init(jumpto.id, hour, m_keepref ? 0 : EMRTimeStamp::NA_REFCOUNT); | ^ In file included from NRTrackExpressionScanner.cpp:7: In file included from ./EMRBeatIterator.h:6: In file included from ./EMRTrackExpressionIterator.h:5: ./EMRPoint.h:63:20: warning: implicit conversion loses integer precision: 'int' to 'unsigned char' [-Wimplicit-int-conversion] 63 | timestamp.init(std::forward(_t)...); | ~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~ ./EMRIdTimeIntervalsIterator.h:59:21: note: in instantiation of function template specialization 'EMRPoint::init' requested here 59 | m_point.init(m_iinterv->id, m_iinterv->tinterv.stime, m_keepref ? 0 : EMRTimeStamp::NA_REFCOUNT); | ^ In file included from NRTrackExpressionScanner.cpp:7: In file included from ./EMRBeatIterator.h:6: In file included from ./EMRTrackExpressionIterator.h:5: ./EMRPoint.h:63:20: warning: implicit conversion loses integer precision: 'int' to 'unsigned char' [-Wimplicit-int-conversion] 63 | timestamp.init(std::forward(_t)...); | ~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~ ./EMRPointsIterator.h:51:13: note: in instantiation of function template specialization 'EMRPoint::init' requested here 51 | m_point.init(-1, -1, -1); | ^ In file included from NRTrackExpressionScanner.cpp:7: In file included from ./EMRBeatIterator.h:6: In file included from ./EMRTrackExpressionIterator.h:5: ./EMRPoint.h:63:20: warning: implicit conversion loses integer precision: 'int' to 'unsigned char' [-Wimplicit-int-conversion] 63 | timestamp.init(std::forward(_t)...); | ~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~ ./EMRTrackIterator.h:52:17: note: in instantiation of function template specialization 'EMRPoint::init' requested here 52 | m_point.init(m_itr.point().id, m_itr.point().timestamp.hour(), -1); | ^ 19 warnings generated. clang++ -mmacos-version-min=26 -std=gnu++20 -I"/Users/ripley/R/cxx20/include" -DNDEBUG -isystem /opt/R/arm64/include -fPIC -g -O2 -Wall -pedantic -Wconversion -Wno-sign-conversion -c NRTrackExpressionVars.cpp -o NRTrackExpressionVars.o In file included from NRTrackExpressionVars.cpp:4: ./EMRDb.h:289:12: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'unsigned int' [-Wshorten-64-to-32] 289 | return m_num_ids; | ~~~~~~ ^~~~~~~~~ In file included from NRTrackExpressionVars.cpp:6: In file included from ./NRIteratorFilter.h:5: In file included from ./EMRTrack.h:18: ./BinFinder.h:43:74: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'unsigned int' [-Wshorten-64-to-32] 43 | unsigned get_numbins() const { return m_breaks.size() - 1; } | ~~~~~~ ~~~~~~~~~~~~~~~~^~~ ./BinFinder.h:64:10: warning: implicit conversion turns floating-point number into integer: 'const double' to 'bool' [-Wfloat-conversion] 64 | if (m_binsize) // are we using the same bin size for all bins? | ~~ ^~~~~~~~~ ./BinFinder.h:89:9: warning: implicit conversion turns floating-point number into integer: 'const double' to 'bool' [-Wfloat-conversion] 89 | if (m_binsize) { // are we using the same bin size for all bins? | ~~ ^~~~~~~~~ ./BinFinder.h:84:32: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 84 | return m_breaks.size() - 2; | ~~~~~~ ~~~~~~~~~~~~~~~~^~~ In file included from NRTrackExpressionVars.cpp:6: In file included from ./NRIteratorFilter.h:5: ./EMRTrack.h:598:44: warning: implicit conversion turns floating-point number into integer: 'double' to 'unsigned int' [-Wfloat-conversion] 598 | unsigned cnt = unif_rand() * num_vs; | ~~~ ~~~~~~~~~~~~^~~~~~~~ ./EMRTrack.h:626:44: warning: implicit conversion turns floating-point number into integer: 'double' to 'unsigned int' [-Wfloat-conversion] 626 | unsigned cnt = unif_rand() * num_vs; | ~~~ ~~~~~~~~~~~~^~~~~~~~ In file included from NRTrackExpressionVars.cpp:8: In file included from ./NRTrackExpressionScanner.h:14: ./NRTrackExpressionVars.h:60:60: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'unsigned int' [-Wshorten-64-to-32] 60 | unsigned get_num_track_vars() const { return m_track_vars.size(); } | ~~~~~~ ~~~~~~~~~~~~~^~~~~~ NRTrackExpressionVars.cpp:285:55: warning: implicit conversion turns floating-point number into integer: 'double' to 'int' [-Wfloat-conversion] 285 | time_shift = Rf_isReal(rtime_shift) ? REAL(rtime_shift)[i] : INTEGER(rtime_shift)[i]; | ~ ^~~~~~~~~~~~~~~~~~~~ NRTrackExpressionVars.cpp:342:101: warning: implicit conversion loses floating-point precision: 'double' to 'float' [-Wimplicit-float-conversion] 342 | track_data_float.add(scanner.point().id, scanner.point().timestamp, scanner.real()); | ~~~ ~~~~~~~~^~~~~~ In file included from NRTrackExpressionVars.cpp:6: In file included from ./NRIteratorFilter.h:5: In file included from ./EMRTrack.h:234: ./EMRTrackSparse.h:165:65: warning: implicit conversion loses floating-point precision: 'double' to 'value_type' (aka 'float') [-Wimplicit-float-conversion] 165 | percentiles.push_back((ival - vals.begin()) / (double)vals.size()); | ~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./EMRTrack.h:406:21: note: in instantiation of member function 'EMRTrackSparse::EMRTrackSparse' requested here 406 | track = new EMRTrackSparse(name, base_track, data, num_unique_ids, data_type, build_percentiles, flags, minid, maxid, mintime, maxtime); | ^ ./EMRTrack.h:327:12: note: in instantiation of function template specialization 'EMRTrack::construct' requested here 327 | return construct(name, NULL, func, flags, data); | ^ NRTrackExpressionVars.cpp:310:31: note: in instantiation of function template specialization 'EMRTrack::construct' requested here 310 | track = EMRTrack::construct(imanager.name.c_str(), (EMRTrack::Func)ifunc, is_categorical ? EMRTrack::IS_CATEGORICAL : 0, data); | ^ In file included from NRTrackExpressionVars.cpp:6: In file included from ./NRIteratorFilter.h:5: In file included from ./EMRTrack.h:234: ./EMRTrackSparse.h:129:34: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'unsigned int' [-Wshorten-64-to-32] 129 | m_num_recs = track_data.data.size(); | ~ ~~~~~~~~~~~~~~~~^~~~~~ ./EMRTrackSparse.h:13:96: warning: implicit conversion loses integer precision: 'const uint64_t' (aka 'const unsigned long long') to 'unsigned int' [-Wshorten-64-to-32] 13 | virtual unsigned unique_size() const { return m_base_track ? m_base_track->unique_size() : m_num_percentiles; } | ~~~~~~ ^~~~~~~~~~~~~~~~~ ./EMRTrackSparse.h:123:20: note: in instantiation of member function 'EMRTrackSparse::unique_size' requested here 123 | EMRTrackSparse::EMRTrackSparse(const char *name, EMRTrack *base_track, EMRTrackData &track_data, unsigned num_unique_ids, DataType data_type, | ^ ./EMRTrack.h:406:21: note: in instantiation of member function 'EMRTrackSparse::EMRTrackSparse' requested here 406 | track = new EMRTrackSparse(name, base_track, data, num_unique_ids, data_type, build_percentiles, flags, minid, maxid, mintime, maxtime); | ^ ./EMRTrack.h:327:12: note: in instantiation of function template specialization 'EMRTrack::construct' requested here 327 | return construct(name, NULL, func, flags, data); | ^ NRTrackExpressionVars.cpp:310:31: note: in instantiation of function template specialization 'EMRTrack::construct' requested here 310 | track = EMRTrack::construct(imanager.name.c_str(), (EMRTrack::Func)ifunc, is_categorical ? EMRTrack::IS_CATEGORICAL : 0, data); | ^ In file included from NRTrackExpressionVars.cpp:6: In file included from ./NRIteratorFilter.h:5: In file included from ./EMRTrack.h:234: ./EMRTrackSparse.h:436:39: warning: implicit conversion loses integer precision: 'long' to 'unsigned int' [-Wshorten-64-to-32] 436 | df.m_data_idx = datum - m_data; | ~ ~~~~~~^~~~~~~~ ./EMRTrackSparse.h:123:20: note: in instantiation of member function 'EMRTrackSparse::set_vals' requested here 123 | EMRTrackSparse::EMRTrackSparse(const char *name, EMRTrack *base_track, EMRTrackData &track_data, unsigned num_unique_ids, DataType data_type, | ^ ./EMRTrack.h:406:21: note: in instantiation of member function 'EMRTrackSparse::EMRTrackSparse' requested here 406 | track = new EMRTrackSparse(name, base_track, data, num_unique_ids, data_type, build_percentiles, flags, minid, maxid, mintime, maxtime); | ^ ./EMRTrack.h:327:12: note: in instantiation of function template specialization 'EMRTrack::construct' requested here 327 | return construct(name, NULL, func, flags, data); | ^ NRTrackExpressionVars.cpp:310:31: note: in instantiation of function template specialization 'EMRTrack::construct' requested here 310 | track = EMRTrack::construct(imanager.name.c_str(), (EMRTrack::Func)ifunc, is_categorical ? EMRTrack::IS_CATEGORICAL : 0, data); | ^ In file included from NRTrackExpressionVars.cpp:6: In file included from ./NRIteratorFilter.h:5: In file included from ./EMRTrack.h:234: ./EMRTrackSparse.h:465:32: warning: implicit conversion loses integer precision: 'long' to 'unsigned int' [-Wshorten-64-to-32] 465 | df.m_rec_idx = rec - m_recs; | ~ ~~~~^~~~~~~~ ./EMRTrackSparse.h:425:13: note: in instantiation of member function 'EMRTrackSparse::set_vals4data' requested here 425 | set_vals4data(df, interv, m_data[df.m_data_idx].rec_idx + num_recs(m_data + df.m_data_idx)); | ^ ./EMRTrackSparse.h:123:20: note: in instantiation of member function 'EMRTrackSparse::set_vals' requested here 123 | EMRTrackSparse::EMRTrackSparse(const char *name, EMRTrack *base_track, EMRTrackData &track_data, unsigned num_unique_ids, DataType data_type, | ^ ./EMRTrack.h:406:21: note: in instantiation of member function 'EMRTrackSparse::EMRTrackSparse' requested here 406 | track = new EMRTrackSparse(name, base_track, data, num_unique_ids, data_type, build_percentiles, flags, minid, maxid, mintime, maxtime); | ^ ./EMRTrack.h:327:12: note: in instantiation of function template specialization 'EMRTrack::construct' requested here 327 | return construct(name, NULL, func, flags, data); | ^ NRTrackExpressionVars.cpp:310:31: note: in instantiation of function template specialization 'EMRTrack::construct' requested here 310 | track = EMRTrack::construct(imanager.name.c_str(), (EMRTrack::Func)ifunc, is_categorical ? EMRTrack::IS_CATEGORICAL : 0, data); | ^ In file included from NRTrackExpressionVars.cpp:6: In file included from ./NRIteratorFilter.h:5: ./EMRTrack.h:598:44: warning: implicit conversion turns floating-point number into integer: 'double' to 'unsigned int' [-Wfloat-conversion] 598 | unsigned cnt = unif_rand() * num_vs; | ~~~ ~~~~~~~~~~~~^~~~~~~~ ./EMRTrackSparse.h:455:13: note: in instantiation of function template specialization 'EMRTrack::calc_vals::Rec *>' requested here 455 | calc_vals(df, interv, m_recs + df.m_rec_idx, m_recs + end_rec_idx); | ^ ./EMRTrackSparse.h:425:13: note: in instantiation of member function 'EMRTrackSparse::set_vals4data' requested here 425 | set_vals4data(df, interv, m_data[df.m_data_idx].rec_idx + num_recs(m_data + df.m_data_idx)); | ^ ./EMRTrackSparse.h:123:20: note: in instantiation of member function 'EMRTrackSparse::set_vals' requested here 123 | EMRTrackSparse::EMRTrackSparse(const char *name, EMRTrack *base_track, EMRTrackData &track_data, unsigned num_unique_ids, DataType data_type, | ^ ./EMRTrack.h:406:21: note: in instantiation of member function 'EMRTrackSparse::EMRTrackSparse' requested here 406 | track = new EMRTrackSparse(name, base_track, data, num_unique_ids, data_type, build_percentiles, flags, minid, maxid, mintime, maxtime); | ^ ./EMRTrack.h:327:12: note: in instantiation of function template specialization 'EMRTrack::construct' requested here 327 | return construct(name, NULL, func, flags, data); | ^ NRTrackExpressionVars.cpp:310:31: note: in instantiation of function template specialization 'EMRTrack::construct' requested here 310 | track = EMRTrack::construct(imanager.name.c_str(), (EMRTrack::Func)ifunc, is_categorical ? EMRTrack::IS_CATEGORICAL : 0, data); | ^ In file included from NRTrackExpressionVars.cpp:6: In file included from ./NRIteratorFilter.h:5: ./EMRTrack.h:626:44: warning: implicit conversion turns floating-point number into integer: 'double' to 'unsigned int' [-Wfloat-conversion] 626 | unsigned cnt = unif_rand() * num_vs; | ~~~ ~~~~~~~~~~~~^~~~~~~~ In file included from NRTrackExpressionVars.cpp:6: In file included from ./NRIteratorFilter.h:5: In file included from ./EMRTrack.h:234: ./EMRTrackSparse.h:544:23: warning: implicit conversion loses integer precision: 'long' to 'unsigned int' [-Wshorten-64-to-32] 544 | itr.m_rec_idx = rec - m_recs; | ~ ~~~~^~~~~~~~ ./EMRTrackSparse.h:123:20: note: in instantiation of member function 'EMRTrackSparse::next' requested here 123 | EMRTrackSparse::EMRTrackSparse(const char *name, EMRTrack *base_track, EMRTrackData &track_data, unsigned num_unique_ids, DataType data_type, | ^ ./EMRTrack.h:406:21: note: in instantiation of member function 'EMRTrackSparse::EMRTrackSparse' requested here 406 | track = new EMRTrackSparse(name, base_track, data, num_unique_ids, data_type, build_percentiles, flags, minid, maxid, mintime, maxtime); | ^ ./EMRTrack.h:327:12: note: in instantiation of function template specialization 'EMRTrack::construct' requested here 327 | return construct(name, NULL, func, flags, data); | ^ NRTrackExpressionVars.cpp:310:31: note: in instantiation of function template specialization 'EMRTrack::construct' requested here 310 | track = EMRTrack::construct(imanager.name.c_str(), (EMRTrack::Func)ifunc, is_categorical ? EMRTrack::IS_CATEGORICAL : 0, data); | ^ In file included from NRTrackExpressionVars.cpp:6: In file included from ./NRIteratorFilter.h:5: In file included from ./EMRTrack.h:234: ./EMRTrackSparse.h:558:32: warning: implicit conversion loses integer precision: 'long' to 'unsigned int' [-Wshorten-64-to-32] 558 | itr.m_data_idx = datum - m_data; | ~ ~~~~~~^~~~~~~~ ./EMRTrackSparse.h:123:20: note: in instantiation of member function 'EMRTrackSparse::next' requested here 123 | EMRTrackSparse::EMRTrackSparse(const char *name, EMRTrack *base_track, EMRTrackData &track_data, unsigned num_unique_ids, DataType data_type, | ^ ./EMRTrack.h:406:21: note: in instantiation of member function 'EMRTrackSparse::EMRTrackSparse' requested here 406 | track = new EMRTrackSparse(name, base_track, data, num_unique_ids, data_type, build_percentiles, flags, minid, maxid, mintime, maxtime); | ^ ./EMRTrack.h:327:12: note: in instantiation of function template specialization 'EMRTrack::construct' requested here 327 | return construct(name, NULL, func, flags, data); | ^ NRTrackExpressionVars.cpp:310:31: note: in instantiation of function template specialization 'EMRTrack::construct' requested here 310 | track = EMRTrack::construct(imanager.name.c_str(), (EMRTrack::Func)ifunc, is_categorical ? EMRTrack::IS_CATEGORICAL : 0, data); | ^ In file included from NRTrackExpressionVars.cpp:6: In file included from ./NRIteratorFilter.h:5: In file included from ./EMRTrack.h:234: ./EMRTrackSparse.h:630:29: warning: implicit conversion loses integer precision: 'long' to 'unsigned int' [-Wshorten-64-to-32] 630 | itr.m_rec_idx = rec - m_recs; | ~ ~~~~^~~~~~~~ In file included from NRTrackExpressionVars.cpp:6: In file included from ./NRIteratorFilter.h:5: In file included from ./EMRTrack.h:233: ./EMRTrackDense.h:160:65: warning: implicit conversion loses floating-point precision: 'double' to 'value_type' (aka 'float') [-Wimplicit-float-conversion] 160 | percentiles.push_back((ival - vals.begin()) / (double)vals.size()); | ~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./EMRTrack.h:408:21: note: in instantiation of member function 'EMRTrackDense::EMRTrackDense' requested here 408 | track = new EMRTrackDense(name, base_track, data, data_type, build_percentiles, flags, minid, maxid, mintime, maxtime); | ^ ./EMRTrack.h:327:12: note: in instantiation of function template specialization 'EMRTrack::construct' requested here 327 | return construct(name, NULL, func, flags, data); | ^ NRTrackExpressionVars.cpp:310:31: note: in instantiation of function template specialization 'EMRTrack::construct' requested here 310 | track = EMRTrack::construct(imanager.name.c_str(), (EMRTrack::Func)ifunc, is_categorical ? EMRTrack::IS_CATEGORICAL : 0, data); | ^ In file included from NRTrackExpressionVars.cpp:6: In file included from ./NRIteratorFilter.h:5: In file included from ./EMRTrack.h:233: ./EMRTrackDense.h:127:34: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'unsigned int' [-Wshorten-64-to-32] 127 | m_num_recs = track_data.data.size(); | ~ ~~~~~~~~~~~~~~~~^~~~~~ ./EMRTrackDense.h:14:96: warning: implicit conversion loses integer precision: 'const uint64_t' (aka 'const unsigned long long') to 'unsigned int' [-Wshorten-64-to-32] 14 | virtual unsigned unique_size() const { return m_base_track ? m_base_track->unique_size() : m_num_percentiles; } | ~~~~~~ ^~~~~~~~~~~~~~~~~ ./EMRTrackDense.h:122:19: note: in instantiation of member function 'EMRTrackDense::unique_size' requested here 122 | EMRTrackDense::EMRTrackDense(const char *name, EMRTrack *base_track, EMRTrackData &track_data, DataType data_type, | ^ ./EMRTrack.h:408:21: note: in instantiation of member function 'EMRTrackDense::EMRTrackDense' requested here 408 | track = new EMRTrackDense(name, base_track, data, data_type, build_percentiles, flags, minid, maxid, mintime, maxtime); | ^ ./EMRTrack.h:327:12: note: in instantiation of function template specialization 'EMRTrack::construct' requested here 327 | return construct(name, NULL, func, flags, data); | ^ NRTrackExpressionVars.cpp:310:31: note: in instantiation of function template specialization 'EMRTrack::construct' requested here 310 | track = EMRTrack::construct(imanager.name.c_str(), (EMRTrack::Func)ifunc, is_categorical ? EMRTrack::IS_CATEGORICAL : 0, data); | ^ In file included from NRTrackExpressionVars.cpp:6: In file included from ./NRIteratorFilter.h:5: In file included from ./EMRTrack.h:233: ./EMRTrackDense.h:434:36: warning: implicit conversion loses integer precision: 'long' to 'unsigned int' [-Wshorten-64-to-32] 434 | df.m_rec_idx = rec - m_recs; | ~ ~~~~^~~~~~~~ ./EMRTrackDense.h:122:19: note: in instantiation of member function 'EMRTrackDense::set_vals' requested here 122 | EMRTrackDense::EMRTrackDense(const char *name, EMRTrack *base_track, EMRTrackData &track_data, DataType data_type, | ^ ./EMRTrack.h:408:21: note: in instantiation of member function 'EMRTrackDense::EMRTrackDense' requested here 408 | track = new EMRTrackDense(name, base_track, data, data_type, build_percentiles, flags, minid, maxid, mintime, maxtime); | ^ ./EMRTrack.h:327:12: note: in instantiation of function template specialization 'EMRTrack::construct' requested here 327 | return construct(name, NULL, func, flags, data); | ^ NRTrackExpressionVars.cpp:310:31: note: in instantiation of function template specialization 'EMRTrack::construct' requested here 310 | track = EMRTrack::construct(imanager.name.c_str(), (EMRTrack::Func)ifunc, is_categorical ? EMRTrack::IS_CATEGORICAL : 0, data); | ^ In file included from NRTrackExpressionVars.cpp:6: In file included from ./NRIteratorFilter.h:5: ./EMRTrack.h:598:44: warning: implicit conversion turns floating-point number into integer: 'double' to 'unsigned int' [-Wfloat-conversion] 598 | unsigned cnt = unif_rand() * num_vs; | ~~~ ~~~~~~~~~~~~^~~~~~~~ ./EMRTrackDense.h:424:17: note: in instantiation of function template specialization 'EMRTrack::calc_vals::Rec *>' requested here 424 | calc_vals(df, interv, m_recs + df.m_rec_idx, m_recs + end_rec_idx); | ^ ./EMRTrackDense.h:122:19: note: in instantiation of member function 'EMRTrackDense::set_vals' requested here 122 | EMRTrackDense::EMRTrackDense(const char *name, EMRTrack *base_track, EMRTrackData &track_data, DataType data_type, | ^ ./EMRTrack.h:408:21: note: in instantiation of member function 'EMRTrackDense::EMRTrackDense' requested here 408 | track = new EMRTrackDense(name, base_track, data, data_type, build_percentiles, flags, minid, maxid, mintime, maxtime); | ^ ./EMRTrack.h:327:12: note: in instantiation of function template specialization 'EMRTrack::construct' requested here 327 | return construct(name, NULL, func, flags, data); | ^ NRTrackExpressionVars.cpp:310:31: note: in instantiation of function template specialization 'EMRTrack::construct' requested here 310 | track = EMRTrack::construct(imanager.name.c_str(), (EMRTrack::Func)ifunc, is_categorical ? EMRTrack::IS_CATEGORICAL : 0, data); | ^ In file included from NRTrackExpressionVars.cpp:6: In file included from ./NRIteratorFilter.h:5: ./EMRTrack.h:626:44: warning: implicit conversion turns floating-point number into integer: 'double' to 'unsigned int' [-Wfloat-conversion] 626 | unsigned cnt = unif_rand() * num_vs; | ~~~ ~~~~~~~~~~~~^~~~~~~~ In file included from NRTrackExpressionVars.cpp:6: In file included from ./NRIteratorFilter.h:5: In file included from ./EMRTrack.h:233: ./EMRTrackDense.h:522:23: warning: implicit conversion loses integer precision: 'long' to 'unsigned int' [-Wshorten-64-to-32] 522 | itr.m_rec_idx = rec - m_recs; | ~ ~~~~^~~~~~~~ ./EMRTrackDense.h:122:19: note: in instantiation of member function 'EMRTrackDense::next' requested here 122 | EMRTrackDense::EMRTrackDense(const char *name, EMRTrack *base_track, EMRTrackData &track_data, DataType data_type, | ^ ./EMRTrack.h:408:21: note: in instantiation of member function 'EMRTrackDense::EMRTrackDense' requested here 408 | track = new EMRTrackDense(name, base_track, data, data_type, build_percentiles, flags, minid, maxid, mintime, maxtime); | ^ ./EMRTrack.h:327:12: note: in instantiation of function template specialization 'EMRTrack::construct' requested here 327 | return construct(name, NULL, func, flags, data); | ^ NRTrackExpressionVars.cpp:310:31: note: in instantiation of function template specialization 'EMRTrack::construct' requested here 310 | track = EMRTrack::construct(imanager.name.c_str(), (EMRTrack::Func)ifunc, is_categorical ? EMRTrack::IS_CATEGORICAL : 0, data); | ^ In file included from NRTrackExpressionVars.cpp:6: In file included from ./NRIteratorFilter.h:5: In file included from ./EMRTrack.h:233: ./EMRTrackDense.h:625:29: warning: implicit conversion loses integer precision: 'long' to 'unsigned int' [-Wshorten-64-to-32] 625 | itr.m_rec_idx = rec - m_recs; | ~ ~~~~^~~~~~~~ ./EMRTrackDense.h:122:19: note: in instantiation of member function 'EMRTrackDense::next' requested here 122 | EMRTrackDense::EMRTrackDense(const char *name, EMRTrack *base_track, EMRTrackData &track_data, DataType data_type, | ^ ./EMRTrack.h:408:21: note: in instantiation of member function 'EMRTrackDense::EMRTrackDense' requested here 408 | track = new EMRTrackDense(name, base_track, data, data_type, build_percentiles, flags, minid, maxid, mintime, maxtime); | ^ ./EMRTrack.h:327:12: note: in instantiation of function template specialization 'EMRTrack::construct' requested here 327 | return construct(name, NULL, func, flags, data); | ^ NRTrackExpressionVars.cpp:310:31: note: in instantiation of function template specialization 'EMRTrack::construct' requested here 310 | track = EMRTrack::construct(imanager.name.c_str(), (EMRTrack::Func)ifunc, is_categorical ? EMRTrack::IS_CATEGORICAL : 0, data); | ^ In file included from NRTrackExpressionVars.cpp:6: In file included from ./NRIteratorFilter.h:5: In file included from ./EMRTrack.h:234: ./EMRTrackSparse.h:165:65: warning: implicit conversion loses floating-point precision: 'double' to 'value_type' (aka 'float') [-Wimplicit-float-conversion] 165 | percentiles.push_back((ival - vals.begin()) / (double)vals.size()); | ~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./EMRTrack.h:406:21: note: in instantiation of member function 'EMRTrackSparse::EMRTrackSparse' requested here 406 | track = new EMRTrackSparse(name, base_track, data, num_unique_ids, data_type, build_percentiles, flags, minid, maxid, mintime, maxtime); | ^ ./EMRTrack.h:321:12: note: in instantiation of function template specialization 'EMRTrack::construct' requested here 321 | return construct(name, base_track, NUM_FUNCS, flags, data); | ^ NRTrackExpressionVars.cpp:351:39: note: in instantiation of function template specialization 'EMRTrack::construct' requested here 351 | track = EMRTrack::construct((vtrack + ".filtered").c_str(), track, track->flags(), track_data_double); | ^ In file included from NRTrackExpressionVars.cpp:6: In file included from ./NRIteratorFilter.h:5: In file included from ./EMRTrack.h:234: ./EMRTrackSparse.h:129:34: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'unsigned int' [-Wshorten-64-to-32] 129 | m_num_recs = track_data.data.size(); | ~ ~~~~~~~~~~~~~~~~^~~~~~ ./EMRTrackSparse.h:13:96: warning: implicit conversion loses integer precision: 'const uint64_t' (aka 'const unsigned long long') to 'unsigned int' [-Wshorten-64-to-32] 13 | virtual unsigned unique_size() const { return m_base_track ? m_base_track->unique_size() : m_num_percentiles; } | ~~~~~~ ^~~~~~~~~~~~~~~~~ ./EMRTrackSparse.h:123:20: note: in instantiation of member function 'EMRTrackSparse::unique_size' requested here 123 | EMRTrackSparse::EMRTrackSparse(const char *name, EMRTrack *base_track, EMRTrackData &track_data, unsigned num_unique_ids, DataType data_type, | ^ ./EMRTrack.h:406:21: note: in instantiation of member function 'EMRTrackSparse::EMRTrackSparse' requested here 406 | track = new EMRTrackSparse(name, base_track, data, num_unique_ids, data_type, build_percentiles, flags, minid, maxid, mintime, maxtime); | ^ ./EMRTrack.h:321:12: note: in instantiation of function template specialization 'EMRTrack::construct' requested here 321 | return construct(name, base_track, NUM_FUNCS, flags, data); | ^ NRTrackExpressionVars.cpp:351:39: note: in instantiation of function template specialization 'EMRTrack::construct' requested here 351 | track = EMRTrack::construct((vtrack + ".filtered").c_str(), track, track->flags(), track_data_double); | ^ In file included from NRTrackExpressionVars.cpp:6: In file included from ./NRIteratorFilter.h:5: In file included from ./EMRTrack.h:234: ./EMRTrackSparse.h:436:39: warning: implicit conversion loses integer precision: 'long' to 'unsigned int' [-Wshorten-64-to-32] 436 | df.m_data_idx = datum - m_data; | ~ ~~~~~~^~~~~~~~ ./EMRTrackSparse.h:123:20: note: in instantiation of member function 'EMRTrackSparse::set_vals' requested here 123 | EMRTrackSparse::EMRTrackSparse(const char *name, EMRTrack *base_track, EMRTrackData &track_data, unsigned num_unique_ids, DataType data_type, | ^ ./EMRTrack.h:406:21: note: in instantiation of member function 'EMRTrackSparse::EMRTrackSparse' requested here 406 | track = new EMRTrackSparse(name, base_track, data, num_unique_ids, data_type, build_percentiles, flags, minid, maxid, mintime, maxtime); | ^ ./EMRTrack.h:321:12: note: in instantiation of function template specialization 'EMRTrack::construct' requested here 321 | return construct(name, base_track, NUM_FUNCS, flags, data); | ^ NRTrackExpressionVars.cpp:351:39: note: in instantiation of function template specialization 'EMRTrack::construct' requested here 351 | track = EMRTrack::construct((vtrack + ".filtered").c_str(), track, track->flags(), track_data_double); | ^ In file included from NRTrackExpressionVars.cpp:6: In file included from ./NRIteratorFilter.h:5: In file included from ./EMRTrack.h:234: ./EMRTrackSparse.h:465:32: warning: implicit conversion loses integer precision: 'long' to 'unsigned int' [-Wshorten-64-to-32] 465 | df.m_rec_idx = rec - m_recs; | ~ ~~~~^~~~~~~~ ./EMRTrackSparse.h:425:13: note: in instantiation of member function 'EMRTrackSparse::set_vals4data' requested here 425 | set_vals4data(df, interv, m_data[df.m_data_idx].rec_idx + num_recs(m_data + df.m_data_idx)); | ^ ./EMRTrackSparse.h:123:20: note: in instantiation of member function 'EMRTrackSparse::set_vals' requested here 123 | EMRTrackSparse::EMRTrackSparse(const char *name, EMRTrack *base_track, EMRTrackData &track_data, unsigned num_unique_ids, DataType data_type, | ^ ./EMRTrack.h:406:21: note: in instantiation of member function 'EMRTrackSparse::EMRTrackSparse' requested here 406 | track = new EMRTrackSparse(name, base_track, data, num_unique_ids, data_type, build_percentiles, flags, minid, maxid, mintime, maxtime); | ^ ./EMRTrack.h:321:12: note: in instantiation of function template specialization 'EMRTrack::construct' requested here 321 | return construct(name, base_track, NUM_FUNCS, flags, data); | ^ NRTrackExpressionVars.cpp:351:39: note: in instantiation of function template specialization 'EMRTrack::construct' requested here 351 | track = EMRTrack::construct((vtrack + ".filtered").c_str(), track, track->flags(), track_data_double); | ^ In file included from NRTrackExpressionVars.cpp:6: In file included from ./NRIteratorFilter.h:5: ./EMRTrack.h:598:44: warning: implicit conversion turns floating-point number into integer: 'double' to 'unsigned int' [-Wfloat-conversion] 598 | unsigned cnt = unif_rand() * num_vs; | ~~~ ~~~~~~~~~~~~^~~~~~~~ ./EMRTrackSparse.h:455:13: note: in instantiation of function template specialization 'EMRTrack::calc_vals::Rec *>' requested here 455 | calc_vals(df, interv, m_recs + df.m_rec_idx, m_recs + end_rec_idx); | ^ ./EMRTrackSparse.h:425:13: note: in instantiation of member function 'EMRTrackSparse::set_vals4data' requested here 425 | set_vals4data(df, interv, m_data[df.m_data_idx].rec_idx + num_recs(m_data + df.m_data_idx)); | ^ ./EMRTrackSparse.h:123:20: note: in instantiation of member function 'EMRTrackSparse::set_vals' requested here 123 | EMRTrackSparse::EMRTrackSparse(const char *name, EMRTrack *base_track, EMRTrackData &track_data, unsigned num_unique_ids, DataType data_type, | ^ ./EMRTrack.h:406:21: note: in instantiation of member function 'EMRTrackSparse::EMRTrackSparse' requested here 406 | track = new EMRTrackSparse(name, base_track, data, num_unique_ids, data_type, build_percentiles, flags, minid, maxid, mintime, maxtime); | ^ ./EMRTrack.h:321:12: note: in instantiation of function template specialization 'EMRTrack::construct' requested here 321 | return construct(name, base_track, NUM_FUNCS, flags, data); | ^ NRTrackExpressionVars.cpp:351:39: note: in instantiation of function template specialization 'EMRTrack::construct' requested here 351 | track = EMRTrack::construct((vtrack + ".filtered").c_str(), track, track->flags(), track_data_double); | ^ In file included from NRTrackExpressionVars.cpp:6: In file included from ./NRIteratorFilter.h:5: ./EMRTrack.h:626:44: warning: implicit conversion turns floating-point number into integer: 'double' to 'unsigned int' [-Wfloat-conversion] 626 | unsigned cnt = unif_rand() * num_vs; | ~~~ ~~~~~~~~~~~~^~~~~~~~ In file included from NRTrackExpressionVars.cpp:6: In file included from ./NRIteratorFilter.h:5: In file included from ./EMRTrack.h:234: ./EMRTrackSparse.h:544:23: warning: implicit conversion loses integer precision: 'long' to 'unsigned int' [-Wshorten-64-to-32] 544 | itr.m_rec_idx = rec - m_recs; | ~ ~~~~^~~~~~~~ ./EMRTrackSparse.h:123:20: note: in instantiation of member function 'EMRTrackSparse::next' requested here 123 | EMRTrackSparse::EMRTrackSparse(const char *name, EMRTrack *base_track, EMRTrackData &track_data, unsigned num_unique_ids, DataType data_type, | ^ ./EMRTrack.h:406:21: note: in instantiation of member function 'EMRTrackSparse::EMRTrackSparse' requested here 406 | track = new EMRTrackSparse(name, base_track, data, num_unique_ids, data_type, build_percentiles, flags, minid, maxid, mintime, maxtime); | ^ ./EMRTrack.h:321:12: note: in instantiation of function template specialization 'EMRTrack::construct' requested here 321 | return construct(name, base_track, NUM_FUNCS, flags, data); | ^ NRTrackExpressionVars.cpp:351:39: note: in instantiation of function template specialization 'EMRTrack::construct' requested here 351 | track = EMRTrack::construct((vtrack + ".filtered").c_str(), track, track->flags(), track_data_double); | ^ In file included from NRTrackExpressionVars.cpp:6: In file included from ./NRIteratorFilter.h:5: In file included from ./EMRTrack.h:234: ./EMRTrackSparse.h:558:32: warning: implicit conversion loses integer precision: 'long' to 'unsigned int' [-Wshorten-64-to-32] 558 | itr.m_data_idx = datum - m_data; | ~ ~~~~~~^~~~~~~~ ./EMRTrackSparse.h:123:20: note: in instantiation of member function 'EMRTrackSparse::next' requested here 123 | EMRTrackSparse::EMRTrackSparse(const char *name, EMRTrack *base_track, EMRTrackData &track_data, unsigned num_unique_ids, DataType data_type, | ^ ./EMRTrack.h:406:21: note: in instantiation of member function 'EMRTrackSparse::EMRTrackSparse' requested here 406 | track = new EMRTrackSparse(name, base_track, data, num_unique_ids, data_type, build_percentiles, flags, minid, maxid, mintime, maxtime); | ^ ./EMRTrack.h:321:12: note: in instantiation of function template specialization 'EMRTrack::construct' requested here 321 | return construct(name, base_track, NUM_FUNCS, flags, data); | ^ NRTrackExpressionVars.cpp:351:39: note: in instantiation of function template specialization 'EMRTrack::construct' requested here 351 | track = EMRTrack::construct((vtrack + ".filtered").c_str(), track, track->flags(), track_data_double); | ^ In file included from NRTrackExpressionVars.cpp:6: In file included from ./NRIteratorFilter.h:5: In file included from ./EMRTrack.h:234: ./EMRTrackSparse.h:630:29: warning: implicit conversion loses integer precision: 'long' to 'unsigned int' [-Wshorten-64-to-32] 630 | itr.m_rec_idx = rec - m_recs; | ~ ~~~~^~~~~~~~ In file included from NRTrackExpressionVars.cpp:6: In file included from ./NRIteratorFilter.h:5: In file included from ./EMRTrack.h:233: ./EMRTrackDense.h:160:65: warning: implicit conversion loses floating-point precision: 'double' to 'value_type' (aka 'float') [-Wimplicit-float-conversion] 160 | percentiles.push_back((ival - vals.begin()) / (double)vals.size()); | ~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./EMRTrack.h:408:21: note: in instantiation of member function 'EMRTrackDense::EMRTrackDense' requested here 408 | track = new EMRTrackDense(name, base_track, data, data_type, build_percentiles, flags, minid, maxid, mintime, maxtime); | ^ ./EMRTrack.h:321:12: note: in instantiation of function template specialization 'EMRTrack::construct' requested here 321 | return construct(name, base_track, NUM_FUNCS, flags, data); | ^ NRTrackExpressionVars.cpp:351:39: note: in instantiation of function template specialization 'EMRTrack::construct' requested here 351 | track = EMRTrack::construct((vtrack + ".filtered").c_str(), track, track->flags(), track_data_double); | ^ In file included from NRTrackExpressionVars.cpp:6: In file included from ./NRIteratorFilter.h:5: In file included from ./EMRTrack.h:233: ./EMRTrackDense.h:127:34: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'unsigned int' [-Wshorten-64-to-32] 127 | m_num_recs = track_data.data.size(); | ~ ~~~~~~~~~~~~~~~~^~~~~~ ./EMRTrackDense.h:14:96: warning: implicit conversion loses integer precision: 'const uint64_t' (aka 'const unsigned long long') to 'unsigned int' [-Wshorten-64-to-32] 14 | virtual unsigned unique_size() const { return m_base_track ? m_base_track->unique_size() : m_num_percentiles; } | ~~~~~~ ^~~~~~~~~~~~~~~~~ ./EMRTrackDense.h:122:19: note: in instantiation of member function 'EMRTrackDense::unique_size' requested here 122 | EMRTrackDense::EMRTrackDense(const char *name, EMRTrack *base_track, EMRTrackData &track_data, DataType data_type, | ^ ./EMRTrack.h:408:21: note: in instantiation of member function 'EMRTrackDense::EMRTrackDense' requested here 408 | track = new EMRTrackDense(name, base_track, data, data_type, build_percentiles, flags, minid, maxid, mintime, maxtime); | ^ ./EMRTrack.h:321:12: note: in instantiation of function template specialization 'EMRTrack::construct' requested here 321 | return construct(name, base_track, NUM_FUNCS, flags, data); | ^ NRTrackExpressionVars.cpp:351:39: note: in instantiation of function template specialization 'EMRTrack::construct' requested here 351 | track = EMRTrack::construct((vtrack + ".filtered").c_str(), track, track->flags(), track_data_double); | ^ In file included from NRTrackExpressionVars.cpp:6: In file included from ./NRIteratorFilter.h:5: In file included from ./EMRTrack.h:233: ./EMRTrackDense.h:434:36: warning: implicit conversion loses integer precision: 'long' to 'unsigned int' [-Wshorten-64-to-32] 434 | df.m_rec_idx = rec - m_recs; | ~ ~~~~^~~~~~~~ ./EMRTrackDense.h:122:19: note: in instantiation of member function 'EMRTrackDense::set_vals' requested here 122 | EMRTrackDense::EMRTrackDense(const char *name, EMRTrack *base_track, EMRTrackData &track_data, DataType data_type, | ^ ./EMRTrack.h:408:21: note: in instantiation of member function 'EMRTrackDense::EMRTrackDense' requested here 408 | track = new EMRTrackDense(name, base_track, data, data_type, build_percentiles, flags, minid, maxid, mintime, maxtime); | ^ ./EMRTrack.h:321:12: note: in instantiation of function template specialization 'EMRTrack::construct' requested here 321 | return construct(name, base_track, NUM_FUNCS, flags, data); | ^ NRTrackExpressionVars.cpp:351:39: note: in instantiation of function template specialization 'EMRTrack::construct' requested here 351 | track = EMRTrack::construct((vtrack + ".filtered").c_str(), track, track->flags(), track_data_double); | ^ In file included from NRTrackExpressionVars.cpp:6: In file included from ./NRIteratorFilter.h:5: ./EMRTrack.h:598:44: warning: implicit conversion turns floating-point number into integer: 'double' to 'unsigned int' [-Wfloat-conversion] 598 | unsigned cnt = unif_rand() * num_vs; | ~~~ ~~~~~~~~~~~~^~~~~~~~ ./EMRTrackDense.h:424:17: note: in instantiation of function template specialization 'EMRTrack::calc_vals::Rec *>' requested here 424 | calc_vals(df, interv, m_recs + df.m_rec_idx, m_recs + end_rec_idx); | ^ ./EMRTrackDense.h:122:19: note: in instantiation of member function 'EMRTrackDense::set_vals' requested here 122 | EMRTrackDense::EMRTrackDense(const char *name, EMRTrack *base_track, EMRTrackData &track_data, DataType data_type, | ^ ./EMRTrack.h:408:21: note: in instantiation of member function 'EMRTrackDense::EMRTrackDense' requested here 408 | track = new EMRTrackDense(name, base_track, data, data_type, build_percentiles, flags, minid, maxid, mintime, maxtime); | ^ ./EMRTrack.h:321:12: note: in instantiation of function template specialization 'EMRTrack::construct' requested here 321 | return construct(name, base_track, NUM_FUNCS, flags, data); | ^ NRTrackExpressionVars.cpp:351:39: note: in instantiation of function template specialization 'EMRTrack::construct' requested here 351 | track = EMRTrack::construct((vtrack + ".filtered").c_str(), track, track->flags(), track_data_double); | ^ In file included from NRTrackExpressionVars.cpp:6: In file included from ./NRIteratorFilter.h:5: ./EMRTrack.h:626:44: warning: implicit conversion turns floating-point number into integer: 'double' to 'unsigned int' [-Wfloat-conversion] 626 | unsigned cnt = unif_rand() * num_vs; | ~~~ ~~~~~~~~~~~~^~~~~~~~ In file included from NRTrackExpressionVars.cpp:6: In file included from ./NRIteratorFilter.h:5: In file included from ./EMRTrack.h:233: ./EMRTrackDense.h:522:23: warning: implicit conversion loses integer precision: 'long' to 'unsigned int' [-Wshorten-64-to-32] 522 | itr.m_rec_idx = rec - m_recs; | ~ ~~~~^~~~~~~~ ./EMRTrackDense.h:122:19: note: in instantiation of member function 'EMRTrackDense::next' requested here 122 | EMRTrackDense::EMRTrackDense(const char *name, EMRTrack *base_track, EMRTrackData &track_data, DataType data_type, | ^ ./EMRTrack.h:408:21: note: in instantiation of member function 'EMRTrackDense::EMRTrackDense' requested here 408 | track = new EMRTrackDense(name, base_track, data, data_type, build_percentiles, flags, minid, maxid, mintime, maxtime); | ^ ./EMRTrack.h:321:12: note: in instantiation of function template specialization 'EMRTrack::construct' requested here 321 | return construct(name, base_track, NUM_FUNCS, flags, data); | ^ NRTrackExpressionVars.cpp:351:39: note: in instantiation of function template specialization 'EMRTrack::construct' requested here 351 | track = EMRTrack::construct((vtrack + ".filtered").c_str(), track, track->flags(), track_data_double); | ^ In file included from NRTrackExpressionVars.cpp:6: In file included from ./NRIteratorFilter.h:5: In file included from ./EMRTrack.h:233: ./EMRTrackDense.h:625:29: warning: implicit conversion loses integer precision: 'long' to 'unsigned int' [-Wshorten-64-to-32] 625 | itr.m_rec_idx = rec - m_recs; | ~ ~~~~^~~~~~~~ ./EMRTrackDense.h:122:19: note: in instantiation of member function 'EMRTrackDense::next' requested here 122 | EMRTrackDense::EMRTrackDense(const char *name, EMRTrack *base_track, EMRTrackData &track_data, DataType data_type, | ^ ./EMRTrack.h:408:21: note: in instantiation of member function 'EMRTrackDense::EMRTrackDense' requested here 408 | track = new EMRTrackDense(name, base_track, data, data_type, build_percentiles, flags, minid, maxid, mintime, maxtime); | ^ ./EMRTrack.h:321:12: note: in instantiation of function template specialization 'EMRTrack::construct' requested here 321 | return construct(name, base_track, NUM_FUNCS, flags, data); | ^ NRTrackExpressionVars.cpp:351:39: note: in instantiation of function template specialization 'EMRTrack::construct' requested here 351 | track = EMRTrack::construct((vtrack + ".filtered").c_str(), track, track->flags(), track_data_double); | ^ 46 warnings generated. clang++ -mmacos-version-min=26 -std=gnu++20 -I"/Users/ripley/R/cxx20/include" -DNDEBUG -isystem /opt/R/arm64/include -fPIC -g -O2 -Wall -pedantic -Wconversion -Wno-sign-conversion -c NRUtils.cpp -o NRUtils.o In file included from NRUtils.cpp:2: In file included from ./NRPoint.h:5: In file included from ./EMRTrack.h:18: ./BinFinder.h:43:74: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'unsigned int' [-Wshorten-64-to-32] 43 | unsigned get_numbins() const { return m_breaks.size() - 1; } | ~~~~~~ ~~~~~~~~~~~~~~~~^~~ ./BinFinder.h:64:10: warning: implicit conversion turns floating-point number into integer: 'const double' to 'bool' [-Wfloat-conversion] 64 | if (m_binsize) // are we using the same bin size for all bins? | ~~ ^~~~~~~~~ ./BinFinder.h:89:9: warning: implicit conversion turns floating-point number into integer: 'const double' to 'bool' [-Wfloat-conversion] 89 | if (m_binsize) { // are we using the same bin size for all bins? | ~~ ^~~~~~~~~ ./BinFinder.h:84:32: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 84 | return m_breaks.size() - 2; | ~~~~~~ ~~~~~~~~~~~~~~~~^~~ In file included from NRUtils.cpp:2: In file included from ./NRPoint.h:5: In file included from ./EMRTrack.h:233: In file included from ./EMRTrackDense.h:7: ./EMRDb.h:289:12: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'unsigned int' [-Wshorten-64-to-32] 289 | return m_num_ids; | ~~~~~~ ^~~~~~~~~ In file included from NRUtils.cpp:2: In file included from ./NRPoint.h:5: ./EMRTrack.h:598:44: warning: implicit conversion turns floating-point number into integer: 'double' to 'unsigned int' [-Wfloat-conversion] 598 | unsigned cnt = unif_rand() * num_vs; | ~~~ ~~~~~~~~~~~~^~~~~~~~ ./EMRTrack.h:626:44: warning: implicit conversion turns floating-point number into integer: 'double' to 'unsigned int' [-Wfloat-conversion] 626 | unsigned cnt = unif_rand() * num_vs; | ~~~ ~~~~~~~~~~~~^~~~~~~~ NRUtils.cpp:41:20: warning: 'operator>=' is deprecated [-Wdeprecated-declarations] 41 | if (ix >= xpoints.end()) | ^ /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/rel_ops.h:38:63: note: 'operator>=' has been explicitly marked deprecated here 38 | inline _LIBCPP_DEPRECATED_IN_CXX20 _LIBCPP_HIDE_FROM_ABI bool operator>=(const _Tp& __x, const _Tp& __y) { | ^ NRUtils.cpp:41:20: warning: 'operator>=>' is deprecated [-Wdeprecated-declarations] 41 | if (ix >= xpoints.end()) | ^ /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/rel_ops.h:38:8: note: 'operator>=>' has been explicitly marked deprecated here 38 | inline _LIBCPP_DEPRECATED_IN_CXX20 _LIBCPP_HIDE_FROM_ABI bool operator>=(const _Tp& __x, const _Tp& __y) { | ^ /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__config:743:41: note: expanded from macro '_LIBCPP_DEPRECATED_IN_CXX20' 743 | # define _LIBCPP_DEPRECATED_IN_CXX20 _LIBCPP_DEPRECATED | ^ /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__config:710:49: note: expanded from macro '_LIBCPP_DEPRECATED' 710 | # define _LIBCPP_DEPRECATED __attribute__((__deprecated__)) | ^ NRUtils.cpp:47:20: warning: 'operator>=' is deprecated [-Wdeprecated-declarations] 47 | if (iy >= ypoints.end()) | ^ /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/rel_ops.h:38:63: note: 'operator>=' has been explicitly marked deprecated here 38 | inline _LIBCPP_DEPRECATED_IN_CXX20 _LIBCPP_HIDE_FROM_ABI bool operator>=(const _Tp& __x, const _Tp& __y) { | ^ NRUtils.cpp:47:20: warning: 'operator>=>' is deprecated [-Wdeprecated-declarations] 47 | if (iy >= ypoints.end()) | ^ /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__utility/rel_ops.h:38:8: note: 'operator>=>' has been explicitly marked deprecated here 38 | inline _LIBCPP_DEPRECATED_IN_CXX20 _LIBCPP_HIDE_FROM_ABI bool operator>=(const _Tp& __x, const _Tp& __y) { | ^ /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__config:743:41: note: expanded from macro '_LIBCPP_DEPRECATED_IN_CXX20' 743 | # define _LIBCPP_DEPRECATED_IN_CXX20 _LIBCPP_DEPRECATED | ^ /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__config:710:49: note: expanded from macro '_LIBCPP_DEPRECATED' 710 | # define _LIBCPP_DEPRECATED __attribute__((__deprecated__)) | ^ NRUtils.cpp:114:46: warning: implicit conversion loses integer precision: 'unsigned long long' to 'int' [-Wshorten-64-to-32] 114 | int idx = from_x ? ix2y->first : ix2y->second; | ~~~ ~~~~~~^~~~~ NRUtils.cpp:114:60: warning: implicit conversion loses integer precision: 'unsigned long long' to 'int' [-Wshorten-64-to-32] 114 | int idx = from_x ? ix2y->first : ix2y->second; | ~~~ ~~~~~~^~~~~~ NRUtils.cpp:121:46: warning: implicit conversion loses integer precision: 'unsigned long long' to 'int' [-Wshorten-64-to-32] 121 | int idx = from_x ? ix2y->first : ix2y->second; | ~~~ ~~~~~~^~~~~ NRUtils.cpp:121:60: warning: implicit conversion loses integer precision: 'unsigned long long' to 'int' [-Wshorten-64-to-32] 121 | int idx = from_x ? ix2y->first : ix2y->second; | ~~~ ~~~~~~^~~~~~ NRUtils.cpp:128:46: warning: implicit conversion loses integer precision: 'unsigned long long' to 'int' [-Wshorten-64-to-32] 128 | int idx = from_x ? ix2y->first : ix2y->second; | ~~~ ~~~~~~^~~~~ NRUtils.cpp:128:60: warning: implicit conversion loses integer precision: 'unsigned long long' to 'int' [-Wshorten-64-to-32] 128 | int idx = from_x ? ix2y->first : ix2y->second; | ~~~ ~~~~~~^~~~~~ NRUtils.cpp:133:46: warning: implicit conversion loses integer precision: 'unsigned long long' to 'int' [-Wshorten-64-to-32] 133 | int idx = from_x ? ix2y->first : ix2y->second; | ~~~ ~~~~~~^~~~~ NRUtils.cpp:133:60: warning: implicit conversion loses integer precision: 'unsigned long long' to 'int' [-Wshorten-64-to-32] 133 | int idx = from_x ? ix2y->first : ix2y->second; | ~~~ ~~~~~~^~~~~~ NRUtils.cpp:141:39: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'int' [-Wshorten-64-to-32] 141 | INTEGER(rrownames)[i] = i + 1; | ~ ~~^~~ 20 warnings generated. clang++ -mmacos-version-min=26 -std=gnu++20 -I"/Users/ripley/R/cxx20/include" -DNDEBUG -isystem /opt/R/arm64/include -fPIC -g -O2 -Wall -pedantic -Wconversion -Wno-sign-conversion -c NRVtrack.cpp -o NRVtrack.o In file included from NRVtrack.cpp:1: In file included from ./NRIteratorFilter.h:4: In file included from ./EMRIteratorFilterItem.h:8: In file included from ./EMRTrackExpressionIterator.h:4: ./EMRDb.h:289:12: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'unsigned int' [-Wshorten-64-to-32] 289 | return m_num_ids; | ~~~~~~ ^~~~~~~~~ In file included from NRVtrack.cpp:1: In file included from ./NRIteratorFilter.h:5: In file included from ./EMRTrack.h:18: ./BinFinder.h:43:74: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'unsigned int' [-Wshorten-64-to-32] 43 | unsigned get_numbins() const { return m_breaks.size() - 1; } | ~~~~~~ ~~~~~~~~~~~~~~~~^~~ ./BinFinder.h:64:10: warning: implicit conversion turns floating-point number into integer: 'const double' to 'bool' [-Wfloat-conversion] 64 | if (m_binsize) // are we using the same bin size for all bins? | ~~ ^~~~~~~~~ ./BinFinder.h:89:9: warning: implicit conversion turns floating-point number into integer: 'const double' to 'bool' [-Wfloat-conversion] 89 | if (m_binsize) { // are we using the same bin size for all bins? | ~~ ^~~~~~~~~ ./BinFinder.h:84:32: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 84 | return m_breaks.size() - 2; | ~~~~~~ ~~~~~~~~~~~~~~~~^~~ In file included from NRVtrack.cpp:1: In file included from ./NRIteratorFilter.h:5: ./EMRTrack.h:598:44: warning: implicit conversion turns floating-point number into integer: 'double' to 'unsigned int' [-Wfloat-conversion] 598 | unsigned cnt = unif_rand() * num_vs; | ~~~ ~~~~~~~~~~~~^~~~~~~~ ./EMRTrack.h:626:44: warning: implicit conversion turns floating-point number into integer: 'double' to 'unsigned int' [-Wfloat-conversion] 626 | unsigned cnt = unif_rand() * num_vs; | ~~~ ~~~~~~~~~~~~^~~~~~~~ In file included from NRVtrack.cpp:3: ./NRTrackExpressionVars.h:60:60: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'unsigned int' [-Wshorten-64-to-32] 60 | unsigned get_num_track_vars() const { return m_track_vars.size(); } | ~~~~~~ ~~~~~~~~~~~~~^~~~~~ NRVtrack.cpp:169:59: warning: implicit conversion turns floating-point number into integer: 'double' to 'int' [-Wfloat-conversion] 169 | time_shift = Rf_isReal(rtime_shift) ? REAL(rtime_shift)[i] | ~ ^~~~~~~~~~~~~~~~~~~~ 9 warnings generated. clang++ -mmacos-version-min=26 -std=gnu++20 -I"/Users/ripley/R/cxx20/include" -DNDEBUG -isystem /opt/R/arm64/include -fPIC -g -O2 -Wall -pedantic -Wconversion -Wno-sign-conversion -c TGLException.cpp -o TGLException.o clang++ -mmacos-version-min=26 -std=gnu++20 -I"/Users/ripley/R/cxx20/include" -DNDEBUG -isystem /opt/R/arm64/include -fPIC -g -O2 -Wall -pedantic -Wconversion -Wno-sign-conversion -c naryn-init.cpp -o naryn-init.o clang++ -mmacos-version-min=26 -std=gnu++20 -I"/Users/ripley/R/cxx20/include" -DNDEBUG -isystem /opt/R/arm64/include -fPIC -g -O2 -Wall -pedantic -Wconversion -Wno-sign-conversion -c naryn.cpp -o naryn.o In file included from naryn.cpp:27: ./EMRDb.h:289:12: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'unsigned int' [-Wshorten-64-to-32] 289 | return m_num_ids; | ~~~~~~ ^~~~~~~~~ naryn.cpp:404:20: warning: implicit conversion loses integer precision: 'ssize_t' (aka 'long') to 'int' [-Wshorten-64-to-32] 404 | retv = read(s_fifo_fd, buf, bytes - readlen); | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ naryn.cpp:430:20: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'int' [-Wshorten-64-to-32] 430 | return readlen; | ~~~~~~ ^~~~~~~ naryn.cpp:432:12: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'int' [-Wshorten-64-to-32] 432 | return readlen; | ~~~~~~ ^~~~~~~ 4 warnings generated. clang++ -mmacos-version-min=26 -std=gnu++20 -I"/Users/ripley/R/cxx20/include" -DNDEBUG -isystem /opt/R/arm64/include -fPIC -g -O2 -Wall -pedantic -Wconversion -Wno-sign-conversion -c strutil.cpp -o strutil.o strutil.cpp:44:20: warning: implicit conversion loses integer precision: 'int' to 'value_type' (aka 'char') [-Wimplicit-int-conversion] 44 | istr->push_back(c); | ~~~~~~~~~ ^ strutil.cpp:91:20: warning: implicit conversion loses integer precision: 'int' to 'value_type' (aka 'char') [-Wimplicit-int-conversion] 91 | istr->push_back(c); | ~~~~~~~~~ ^ strutil.cpp:136:20: warning: implicit conversion loses integer precision: 'int' to 'value_type' (aka 'char') [-Wimplicit-int-conversion] 136 | istr->push_back(c); | ~~~~~~~~~ ^ strutil.cpp:177:20: warning: implicit conversion loses integer precision: 'int' to 'value_type' (aka 'char') [-Wimplicit-int-conversion] 177 | istr->push_back(c); | ~~~~~~~~~ ^ strutil.cpp:203:14: warning: implicit conversion loses floating-point precision: 'double' to 'float' [-Wimplicit-float-conversion] 203 | float f = atof(field.c_str()); | ~ ^~~~~~~~~~~~~~~~~~~ strutil.cpp:210:12: warning: implicit conversion loses floating-point precision: 'double' to 'float' [-Wimplicit-float-conversion] 210 | float f = atof(field.c_str()); | ~ ^~~~~~~~~~~~~~~~~~~ strutil.cpp:236:15: warning: implicit conversion loses integer precision: 'int_type' (aka 'int') to 'char' [-Wimplicit-int-conversion] 236 | char c = in.get(); | ~ ~~~^~~~~ strutil.cpp:252:16: warning: implicit conversion loses integer precision: 'int_type' (aka 'int') to 'char' [-Wimplicit-int-conversion] 252 | char c = in.get(); | ~ ~~~^~~~~ strutil.cpp:264:16: warning: implicit conversion loses integer precision: 'int_type' (aka 'int') to 'char' [-Wimplicit-int-conversion] 264 | char c = in.get(); | ~ ~~~^~~~~ strutil.cpp:276:22: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32] 276 | uint32_t pos = targ.find(mot, 0); | ~~~ ~~~~~^~~~~~~~~~~~ strutil.cpp:278:14: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32] 278 | pos = targ.find(mot, pos + 1); | ~ ~~~~~^~~~~~~~~~~~~~~~~~ strutil.cpp:299:10: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 299 | *dt = strtol((*inp).c_str(), &fin, 0); | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ strutil.cpp:360:25: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 360 | width = fields.size() - 1; | ~ ~~~~~~~~~~~~~~^~~ strutil.cpp:369:26: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 369 | width = fields.size() - 1; | ~ ~~~~~~~~~~~~~~^~~ 14 warnings generated. clang++ -mmacos-version-min=26 -std=gnu++20 -dynamiclib -Wl,-headerpad_max_install_names -undefined dynamic_lookup -L/Users/ripley/R/cxx20/lib -L/opt/R/arm64/lib -o naryn.so BinFinder.o BinsManager.o BufferedFile.o EMRDb.o EMRIdTimeInterval.o EMRIteratorFilterItem.o EMRLogicalTrack.o EMRProgressReporter.o EMRTimeConverter.o EMRTimeInterval.o EMRTimeStamp.o EMRTrack.o FileUtils.o NRCovariance.o NRDb.o NRDist.o NRExtract.o NRIdTimeInterval.o NRIdsDist.o NRImport.o NRIteratorFilter.o NRLogicalTrack.o NRLogicalTrackInfo.o NRPoint.o NRQuantiles.o NRScreen.o NRSummary.o NRTest.o NRTimeConverter.o NRTimeInterval.o NRTrack.o NRTrackCreate.o NRTrackExpressionScanner.o NRTrackExpressionVars.o NRUtils.o NRVtrack.o TGLException.o naryn-init.o naryn.o strutil.o -lpthread -shared -L/Users/ripley/R/cxx20/lib -lR installing to /Users/ripley/R/packages/tests-CXX20/naryn.Rcheck/00LOCK-naryn/00new/naryn/libs ** R ** inst ** byte-compile and prepare package for lazy loading ** help *** installing help indices ** building package indices ** installing vignettes ** 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 (naryn)