Я работал над ошибкой, которая включает в себя библиотеку из C ++ и std :: norm . Я наблюдал за сбоем теста (неточности) из -за точных различий, которые я наблюдаю, потому что std :: norm дает различные результаты на двух машинах (один из RHEL8 и другой из Ubuntu22)
Минимум заключается в следующем
.#include
#include
#include
int main() {
std::complex z(1.0/3, 1.0/7);
std::cout.precision(20);
std::cout
clang ++ -O2 -Std = c ++ 17 -fno -fast -math -mno -fma -ffloat Stor Проблема в том, что, вероятно, существуют несоответствия версий между вовлеченными библиотеками. ldd revealed different installation paths for the libraries involved (/lib64/ vs /lib/x86_64-linux-gnu/) but was blocked on how to confirm the same
I am checking precision up until 20 digits (1e-20)
The outputs are 0.13151927437641722229 (Ubuntu) против 0,13151927437641719454 (RHEL8) < /p>
Другой пример, где существуют более высокие различия в точности < /p>
#include
#include
#include
#include
int main() {
std::complex z(-1.5037772655487060547,3.2284870147705078125);
std::cout.precision(20);
//std::cout
Подробнее здесь: https://stackoverflow.com/questions/796 ... r-ubuntu22