Я получаю случайное значение -nan< /code> или nan после умножения DCM. Любой из этих векторов приводит к результату nan, и он совершенно случайен и совершенно непредсказуем.
Во время одного события выполнения они составляют около 6000-10000 итераций, где DCM применяется 2 раза за итерацию, и в среднем я получаю 6-8 нан< /код> вывод. Я также заметил, что из 10 событий выполнения я сталкиваюсь с этой проблемой nan с 4-6 событиями.
Язык: C++17
Операционная система: vxWorks 7
Библиотека: Eigen 3.4.0
ЦП: Intel i7 11-го поколения
Флаги включения CMake AVX2
Код: Выделить всё
SET(CLANG_AVX_FLAGS "-O3 -march=native -mprefer-vector-width=256 -ffast-math")
set(CMAKE_CXX_FLAGS "${CLANG_AVX_FLAGS} -Wall -pedantic -g")
set(CMAKE_CXX_FLAGS_RELEASE "-O2 -DEIGEN_NO_DEBUG")
Код: Выделить всё
DCM :
0.707107 -0.707107 0
0.707107 0.707107 0
0 0 1
Coordinate:
-nan
-nan
-nan
Velocity
-83.3332
-83.3332
-83.3333
Acceleration
0
0
0
Код: Выделить всё
#include "Eigen/Dense"
#include
Eigen::Vector3d harmonizeCoordinates, harmonizeVelocity, harmonizeAcceleration;
Eigen::Vector3d coordinates, velocity, accceleration;
coordinates
Подробнее здесь: [url]https://stackoverflow.com/questions/79339015/eigenvector3d-or-eigenmatrix3d-operation-resulting-nan-or-nan-randomly[/url]