In file included from levenshtein.cpp:10:
./implementation.hpp: In constructor ‘Block::Block(size_t)’:
./implementation.hpp:55:12: warning: ‘Block::width’ will be initialized after [-Wreorder]
55 | size_t width;
| ^~~~~
./implementation.hpp:53:25: warning: ‘std::vector<long unsigned int> Block::data’ [-Wreorder]
53 | std::vector<size_t> data;
| ^~~~
./implementation.hpp:60:14: warning: when initialized here [-Wreorder]
60 | explicit Block(size_t width) : width(width), data(width * width) {}
| ^~~~~
./implementation.hpp: In instantiation of ‘void EditDistance<C, DIST, DEBUG>::init(DIST, DIST) [with C = unsigned int; DIST = long unsigned int; bool DEBUG = true]’:
levenshtein.cpp:68:15: required from ‘std::size_t computeDistance(std::vector<unsigned int>, const std::vector<unsigned int>&) [with bool DEBUG = true; std::size_t = long unsigned int]’
68 | distance.init(str1.size(), str2.size());
| ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
levenshtein.cpp:115:27: required from here
115 | ? computeDistance<true>(str1, str2)
| ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
./implementation.hpp:144:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘long unsigned int’ [-Wsign-compare]
144 | for (int i = 0; i < diagonal_blocks; i++) {
| ~~^~~~~~~~~~~~~~~~~
./implementation.hpp:161:43: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
161 | for (int iteration = 0; iteration < blocks_in_line * 2; iteration++) {
| ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
./implementation.hpp: In instantiation of ‘DIST EditDistance<C, DIST, DEBUG>::compute(const std::vector<C>&, const std::vector<C>&) [with C = unsigned int; DIST = long unsigned int; bool DEBUG = true]’:
levenshtein.cpp:72:36: required from ‘std::size_t computeDistance(std::vector<unsigned int>, const std::vector<unsigned int>&) [with bool DEBUG = true; std::size_t = long unsigned int]’
72 | std::size_t res = distance.compute(str1, str2);
| ~~~~~~~~~~~~~~~~^~~~~~~~~~~~
levenshtein.cpp:115:27: required from here
115 | ? computeDistance<true>(str1, str2)
| ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
./implementation.hpp:502:33: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
502 | for (int iter = 0; iter < 2 * blocks_in_line; iter++) {
| ~~~~~^~~~~~~~~~~~~~~~~~~~
./implementation.hpp:510:37: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
510 | for (int idx = 0; idx < in_line; idx++) {
| ^~~~~~~
./implementation.hpp:573:31: warning: comparison of integer expressions of different signedness: ‘int’ and ‘long unsigned int’ [-Wsign-compare]
573 | for (int i = 0; i < diagonal_blocks; i++) {
| ~~^~~~~~~~~~~~~~~~~
./implementation.hpp: In instantiation of ‘void EditDistance<C, DIST, DEBUG>::init(DIST, DIST) [with C = unsigned int; DIST = long unsigned int; bool DEBUG = false]’:
levenshtein.cpp:68:15: required from ‘std::size_t computeDistance(std::vector<unsigned int>, const std::vector<unsigned int>&) [with bool DEBUG = false; std::size_t = long unsigned int]’
68 | distance.init(str1.size(), str2.size());
| ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
levenshtein.cpp:116:28: required from here
116 | : computeDistance<false>(str1, str2);
| ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
./implementation.hpp:144:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘long unsigned int’ [-Wsign-compare]
144 | for (int i = 0; i < diagonal_blocks; i++) {
| ~~^~~~~~~~~~~~~~~~~
./implementation.hpp:161:43: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
161 | for (int iteration = 0; iteration < blocks_in_line * 2; iteration++) {
| ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
./implementation.hpp: In instantiation of ‘DIST EditDistance<C, DIST, DEBUG>::compute(const std::vector<C>&, const std::vector<C>&) [with C = unsigned int; DIST = long unsigned int; bool DEBUG = false]’:
levenshtein.cpp:72:36: required from ‘std::size_t computeDistance(std::vector<unsigned int>, const std::vector<unsigned int>&) [with bool DEBUG = false; std::size_t = long unsigned int]’
72 | std::size_t res = distance.compute(str1, str2);
| ~~~~~~~~~~~~~~~~^~~~~~~~~~~~
levenshtein.cpp:116:28: required from here
116 | : computeDistance<false>(str1, str2);
| ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
./implementation.hpp:502:33: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
502 | for (int iter = 0; iter < 2 * blocks_in_line; iter++) {
| ~~~~~^~~~~~~~~~~~~~~~~~~~
./implementation.hpp:510:37: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
510 | for (int idx = 0; idx < in_line; idx++) {
| ^~~~~~~
./implementation.hpp:573:31: warning: comparison of integer expressions of different signedness: ‘int’ and ‘long unsigned int’ [-Wsign-compare]
573 | for (int i = 0; i < diagonal_blocks; i++) {
| ~~^~~~~~~~~~~~~~~~~