Std :: norm дает два разных результата (один для RHEL8, а другой - для Ubuntu22) [Дублировать]Linux

Ответить
Anonymous
 Std :: norm дает два разных результата (один для RHEL8, а другой - для Ubuntu22) [Дублировать]

Сообщение Anonymous »

Я работал над ошибкой, которая включает в себя библиотеку из 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Linux»