У меня есть некоторый код обработки изображений в C ++, который вычисляет градиенты и находит в них прямые линии с помощью алгоритма грубого преобразования.Программа делает большинство расчетов с помощью поплавков.
Когда я запускаю этот код на одном и том же образе на двух разных компьютерах: на одном Pentium IV работает последняя версия Fedora, на другом - Core i5 с последней Ubuntu, обе 32-битные, я получаю немного разные результаты.Например, после некоторого длительного расчета 1,3456f для некоторой переменной на одной машине и 1,3457f на другой.Это ожидаемое поведение или я должен искать ошибки в моей программе?
Моим первым предположением было то, что я обращаюсь к некоторой неинициализированной или нерегулярной памяти, но я запустил программу через valgrind, и она не может найти никаких ошибок, также многократно запущенных на одной машиневсегда дает одинаковые результаты.