Сигнал sigfpe при использовании sin/cos в c ++C++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Сигнал sigfpe при использовании sin/cos в c ++

Сообщение Anonymous »

Я трахаю сеть, чтобы контролировать своего робота. Но я встречаю эту проблему случайным образом . И я понятия не имею.
Во время учебного процесса мои сценарии Python будут вызывать код C ++ от Pybind, а в части C ++ у меня есть функциональная ротация. p>
Eigen::Matrix rotationMatrixBaseToOriginInside(const Eigen::Matrix& eulerAnglesXYZ) {
Eigen::Matrix o_R_b;

// auxiliary variables
std::array v{};

v[0] = std::cos(eulerAnglesXYZ[1]);
v[1] = std::cos(eulerAnglesXYZ[2]);
o_R_b(0) = v[0] * v[1];
v[2] = std::sin(eulerAnglesXYZ[0]);
v[3] = -v[2];
o_R_b(6) = std::sin(eulerAnglesXYZ[1]);
v[4] = -o_R_b(6);
v[5] = v[3] * v[4];
v[6] = std::cos(eulerAnglesXYZ[0]);
v[7] = std::sin(eulerAnglesXYZ[2]);
o_R_b(1) = v[5] * v[1] + v[6] * v[7];
v[4] = v[6] * v[4];
o_R_b(2) = v[4] * v[1] + v[2] * v[7];
v[7] = -v[7];
o_R_b(3) = v[0] * v[7];
o_R_b(4) = v[5] * v[7] + v[6] * v[1];
o_R_b(5) = v[4] * v[7] + v[2] * v[1];
o_R_b(7) = v[3] * v[0];
o_R_b(8) = v[6] * v[0];
return o_R_b;
}
and i call this function by
const matrix3_t w_R_b = rotationMatrixBaseToOriginInside(eulerXYZ);
< /code>
Однако, когда запускается код, иногда он случайно умер. и я получаю ядро.Program terminated with signal SIGFPE, Arithmetic exception.
#0 0x00007fe977dd9e29 in do_cos (dx=0, x=) at ../sysdeps/ieee754/dbl-64/s_sin.c:108
108 ../sysdeps/ieee754/dbl-64/s_sin.c: No such file or directory.
[Current thread is 1 (Thread 0x7fe313fff700 (LWP 3672941))]
(gdb) bt
#0 0x00007fe977dd9e29 in do_cos (dx=0, x=) at ../sysdeps/ieee754/dbl-64/s_sin.c:108
#1 __cos_fma (x=) at ../sysdeps/ieee754/dbl-64/s_sin.c:286
#2 0x00007fe906785be4 in humanoid_interface::rotationMatrixBaseToOriginInside (eulerAnglesXYZ=...) at /usr/include/eigen3/Eigen/src/Core/util/Meta.h:300
< /code>
и информация локалей < /p>
(gdb) info locals
u =
xx =
s =
sn =
ssn =
c =
cs =
ccs =
cor = 0.023701645488744413
(gdb) up 1
#1 __cos_fma (x=) at ../sysdeps/ieee754/dbl-64/s_sin.c:286
286 in ../sysdeps/ieee754/dbl-64/s_sin.c
(gdb) info locals
y =
a = 120.00000000011512
da = 6.9472020217249313e-310
u =
k =
m =
n =
retval = 0
ctx = {env = {__control_word = , __glibc_reserved1 = , __status_word = , __glibc_reserved2 = , __tags = , __glibc_reserved3 = ,
__eip = , __cs_selector = , __opcode = , __glibc_reserved4 = , __data_offset = , __data_selector = ,
__glibc_reserved5 = , __mxcsr = 8101}, updated_status = }
(gdb) up 1
#2 0x00007fe906785be4 in humanoid_interface::rotationMatrixBaseToOriginInside (eulerAnglesXYZ=...) at /usr/include/eigen3/Eigen/src/Core/util/Meta.h:300
300 EIGEN_DEVICE_FUNC ~noncopyable() {}
(gdb) info locals
o_R_b = { = { = { = { = { = { = { = {}, }, }, }, }, }, m_storage = {m_data = {array = {0.99312891205556586, 6.9485744768938875e-310, 0, 0,
0, 0, -0.035153291205020566, 0, 0}}}}, }
v = {_M_elems = {0.99938193205473502, 0.9937431128194274, 0.023699426413416234, -0.023699426413416234, , , , }}
(gdb) p eulerAnglesXYZ
$1 = (const
Eigen::Matrix &) @0x7fe313ffe110: { = { = { = { = { = { = { = {}, }, }, }, }, }, m_storage = {m_data = {
array = {0.023701645488744413, -0.035160535370161498, 0.11192339221079543}}}}, }

кажется, что Euleranglesxyz не NAN или Inf. Так почему я получаю эту ошибку?
и почему она очень случайная? < /P>
Большое спасибо, если вы можете дать несколько советов !! > Sry, я не понимаю инструкции по сбору, но я изо всех сил старался опубликовать информацию, отображаемую GDB. Это очень долго, я перечисляю их часть. < /p>
0x00007fe977dd9d90 : endbr64
0x00007fe977dd9d94 : push %rbp
0x00007fe977dd9d95 : push %rbx
0x00007fe977dd9d96 : sub $0x28,%rsp
0x00007fe977dd9d9a : mov %fs:0x28,%rax
0x00007fe977dd9da3 : mov %rax,0x18(%rsp)
0x00007fe977dd9da8 : xor %eax,%eax
0x00007fe977dd9daa : vmovq %xmm0,%rax
0x00007fe977dd9daf : vstmxcsr 0x8(%rsp)
0x00007fe977dd9db5 : mov 0x8(%rsp),%ebx
0x00007fe977dd9db9 : sar $0x20,%rax
0x00007fe977dd9dbd : and $0x7fffffff,%eax
0x00007fe977dd9dc2 : mov %ebx,%edx
0x00007fe977dd9dc4 : and $0x9f,%dh
0x00007fe977dd9dc7 : mov %edx,0x10(%rsp)
0x00007fe977dd9dcb : cmp %edx,%ebx
0x00007fe977dd9dcd : jne 0x7fe977dda1c0
0x00007fe977dd9dd3 : vmovsd 0x2c4e5(%rip),%xmm1 # 0x7fe977e062c0
0x00007fe977dd9ddb : xor %ebp,%ebp
0x00007fe977dd9ddd : cmp $0x3e3fffff,%eax
0x00007fe977dd9de2 : jle 0x7fe977dd9eb1
0x00007fe977dd9de8 : cmp $0x3feb5fff,%eax
0x00007fe977dd9ded : jg 0x7fe977dd9ed0
0x00007fe977dd9df3 : vxorpd %xmm1,%xmm1,%xmm1
0x00007fe977dd9df7 : vmovsd 0x2c4a1(%rip),%xmm3 # 0x7fe977e062a0
0x00007fe977dd9dff : vmovsd 0x4bed1(%rip),%xmm4 # 0x7fe977e25cd8
0x00007fe977dd9e07 : lea 0x5f5d2(%rip),%rdx # 0x7fe977e393e0
0x00007fe977dd9e0e : vcmpnltsd %xmm1,%xmm0,%xmm2
0x00007fe977dd9e13 : vandpd 0x2c495(%rip),%xmm0,%xmm0 # 0x7fe977e062b0
0x00007fe977dd9e1b : vblendvpd %xmm2,%xmm1,%xmm3,%xmm3
0x00007fe977dd9e21 : vmovsd 0x4bea7(%rip),%xmm1 # 0x7fe977e25cd0
=> 0x00007fe977dd9e29 : vaddsd %xmm1,%xmm0,%xmm2
0x00007fe977dd9e2d : vsubsd %xmm1,%xmm2,%xmm1
0x00007fe977dd9e31 : vmovq %xmm2,%rax
0x00007fe977dd9e36 : shl $0x2,%eax
0x00007fe977dd9e39 : lea 0x2(%rax),%ecx
0x00007fe977dd9e3c : lea 0x1(%rax),%esi
0x00007fe977dd9e3f : vsubsd %xmm1,%xmm0,%xmm0
0x00007fe977dd9e43 : movslq %ecx,%rcx
0x00007fe977dd9e46 : movslq %esi,%rsi
0x00007fe977dd9e49 : vmovsd (%rdx,%rsi,8),%xmm2
0x00007fe977dd9e4e : vaddsd %xmm3,%xmm0,%xmm0
0x00007fe977dd9e52 : vmulsd %xmm0,%xmm0,%xmm3
0x00007fe977dd9e56 : vfmadd213sd 0x81261(%rip),%xmm3,%xmm4 # 0x7fe977e5b0c0
0x00007fe977dd9e5f : vmulsd %xmm3,%xmm0,%xmm1
0x00007fe977dd9e63 : vfmadd231sd %xmm4,%xmm1,%xmm0
0x00007fe977dd9e68 : vmovsd 0x4be78(%rip),%xmm1 # 0x7fe977e25ce8
0x00007fe977dd9e70 : vfmadd213sd 0x8124f(%rip),%xmm3,%xmm1 # 0x7fe977e5b0c8
0x00007fe977dd9e79 : vfmadd213sd 0x2cc2e(%rip),%xmm3,%xmm1 # 0x7fe977e06ab0
0x00007fe977dd9e82 : vmulsd %xmm1,%xmm3,%xmm3
0x00007fe977dd9e86 : vmovsd (%rdx,%rcx,8),%xmm1
0x00007fe977dd9e8b : lea 0x3(%rax),%ecx
0x00007fe977dd9e8e : cltq
0x00007fe977dd9e90 : movslq %ecx,%rcx
0x00007fe977dd9e93 : vfnmadd213sd (%rdx,%rcx,8),%xmm0,%xmm2
0x00007fe977dd9e99 : vfnmadd132sd %xmm1,%xmm2,%xmm3
0x00007fe977dd9e9e : vfnmadd132sd (%rdx,%rax,8),%xmm3,%xmm0
0x00007fe977dd9ea4 : vaddsd %xmm0,%xmm1,%xmm1
0x00007fe977dd9ea8 : test %bpl,%bpl
0x00007fe977dd9eab : jne 0x7fe977dda198
0x00007fe977dd9eb1 : mov 0x18(%rsp),%rax
--Type for more, q to quit, c to continue without paging--
0x00007fe977dd9eb6 : xor %fs:0x28,%rax
0x00007fe977dd9ebf : jne 0x7fe977dda5b8
0x00007fe977dd9ec5 : add $0x28,%rsp
0x00007fe977dd9ec9 : vmovapd %xmm1,%xmm0
0x00007fe977dd9ecd : pop %rbx
0x00007fe977dd9ece : pop %rbp
0x00007fe977dd9ecf : retq
0x00007fe977dd9ed0 : cmp $0x400368fc,%eax
0x00007fe977dd9ed5 : jg 0x7fe977dda000
0x00007fe977dd9edb : vmovq 0x2c3cd(%rip),%xmm5 # 0x7fe977e062b0
0x00007fe977dd9ee3 : vmovsd 0x4be0d(%rip),%xmm2 # 0x7fe977e25cf8
0x00007fe977dd9eeb : vmovsd 0x4bdad(%rip),%xmm3 # 0x7fe977e25ca0
0x00007fe977dd9ef3 : vandpd %xmm5,%xmm0,%xmm0
0x00007fe977dd9ef7 : vsubsd %xmm0,%xmm2,%xmm0
0x00007fe977dd9efb : vmovsd 0x4bd8d(%rip),%xmm2 # 0x7fe977e25c90
0x00007fe977dd9f03 : vaddsd %xmm2,%xmm0,%xmm1
0x00007fe977dd9f07 : vsubsd %xmm1,%xmm0,%xmm0
0x00007fe977dd9f0b : vmovsd %xmm1,0x8(%rsp)
0x00007fe977dd9f11 : vaddsd %xmm2,%xmm0,%xmm0
0x00007fe977dd9f15 : vmovapd %xmm1,%xmm2
0x00007fe977dd9f19 : vandpd %xmm5,%xmm2,%xmm2
0x00007fe977dd9f1d : vcomisd %xmm2,%xmm3
0x00007fe977dd9f21 : vmovsd %xmm0,0x10(%rsp)
0x00007fe977dd9f27 : ja 0x7fe977dda3c0
0x00007fe977dd9f2d : vxorpd %xmm3,%xmm3,%xmm3
0x00007fe977dd9f31 : vmovq 0x2c3a7(%rip),%xmm6 # 0x7fe977e062e0
0x00007fe977dd9f39 : vcomisd %xmm1,%xmm3
0x00007fe977dd9f3d : jae 0x7fe977dda200
0x00007fe977dd9f43 : vmovsd 0x4bd85(%rip),%xmm4 # 0x7fe977e25cd0
0x00007fe977dd9f4b : vmovsd 0x4bd85(%rip),%xmm8 # 0x7fe977e25cd8
0x00007fe977dd9f53 : lea 0x5f486(%rip),%rdx # 0x7fe977e393e0
0x00007fe977dd9f5a : vaddsd %xmm4,%xmm2,%xmm3
0x00007fe977dd9f5e : vsubsd %xmm4,%xmm3,%xmm4
0x00007fe977dd9f62 : vmovq %xmm3,%rax
0x00007fe977dd9f67 : shl $0x2,%eax
0x00007fe977dd9f6a : movslq %eax,%rcx
0x00007fe977dd9f6d : lea 0x3(%rax),%esi
0x00007fe977dd9f70 : vsubsd %xmm4,%xmm2,%xmm2
0x00007fe977dd9f74 : movslq %esi,%rsi
0x00007fe977dd9f77 : vmovsd (%rdx,%rsi,8),%xmm3
0x00007fe977dd9f7c : vmulsd %xmm2,%xmm2,%xmm7
0x00007fe977dd9f80 : vfmadd213sd 0x81137(%rip),%xmm7,%xmm8 # 0x7fe977e5b0c0
0x00007fe977dd9f89 : vmulsd %xmm7,%xmm2,%xmm4
0x00007fe977dd9f8d : vfmadd132sd %xmm8,%xmm0,%xmm4
0x00007fe977dd9f92 : vmovsd 0x4bd4e(%rip),%xmm8 # 0x7fe977e25ce8
0x00007fe977dd9f9a : vfmadd213sd 0x81125(%rip),%xmm7,%xmm8 # 0x7fe977e5b0c8
0x00007fe977dd9fa3 : vfmadd213sd 0x2cb04(%rip),%xmm7,%xmm8 # 0x7fe977e06ab0
0x00007fe977dd9fac : vaddsd %xmm4,%xmm2,%xmm4
0x00007fe977dd9fb0 : vmulsd %xmm8,%xmm7,%xmm7
0x00007fe977dd9fb5 : vfmadd132sd %xmm0,%xmm7,%xmm2
0x00007fe977dd9fba : vmovsd (%rdx,%rcx,8),%xmm0
0x00007fe977dd9fbf : lea 0x1(%rax),%ecx
0x00007fe977dd9fc2 : add $0x2,%eax
0x00007fe977dd9fc5 : movslq %ecx,%rcx
0x00007fe977dd9fc8 : cltq
0x00007fe977dd9fca : vmovapd %xmm1,%xmm7
0x00007fe977dd9fce : vfmadd213sd (%rdx,%rcx,8),%xmm4,%xmm3
0x00007fe977dd9fd4 : vandpd %xmm6,%xmm7,%xmm7
0x00007fe977dd9fd8 : vfnmadd132sd %xmm0,%xmm3,%xmm2
0x00007fe977dd9fdd : vfmadd231sd (%rdx,%rax,8),%xmm4,%xmm2
0x00007fe977dd9fe3 : vaddsd %xmm2,%xmm0,%xmm2
0x00007fe977dd9fe7 : vandnpd %xmm2,%xmm6,%xmm6
--Type for more, q to quit, c to continue without paging--
0x00007fe977dd9feb : vorpd %xmm7,%xmm6,%xmm6
0x00007fe977dd9fef : vmovapd %xmm6,%xmm1
0x00007fe977dd9ff3 : jmpq 0x7fe977dd9ea8
0x00007fe977dd9ff8 : nopl 0x0(%rax,%rax,1)
0x00007fe977dda000 : cmp $0x419921fa,%eax
0x00007fe977dda005 : jg 0x7fe977dda1e0
0x00007fe977dda00b : vmovsd 0x40a0d(%rip),%xmm1 # 0x7fe977e1aa20
0x00007fe977dda013 : vmovapd %xmm0,%xmm3
0x00007fe977dda017 : vfmadd132sd 0x40388(%rip),%xmm1,%xmm3 # 0x7fe977e1a3a8
0x00007fe977dda020 : vmovsd 0x4bce8(%rip),%xmm2 # 0x7fe977e25d10
0x00007fe977dda028 : vmovsd 0x4bce8(%rip),%xmm5 # 0x7fe977e25d18
0x00007fe977dda030 : vsubsd %xmm1,%xmm3,%xmm1
0x00007fe977dda034 : vmovq %xmm3,%rax
0x00007fe977dda039 : vfnmadd231sd 0x4bcbe(%rip),%xmm1,%xmm0 # 0x7fe977e25d00
0x00007fe977dda042 : and $0x3,%eax
0x00007fe977dda045 : vfnmadd231sd 0x4bcba(%rip),%xmm1,%xmm0 # 0x7fe977e25d08
0x00007fe977dda04e : lea 0x1(%rax),%ecx
0x00007fe977dda051 : vmovapd %xmm1,%xmm4
0x00007fe977dda055 : vfnmadd132sd %xmm2,%xmm0,%xmm4
0x00007fe977dda05a : vsubsd %xmm4,%xmm0,%xmm0
0x00007fe977dda05e : vfnmadd231sd %xmm2,%xmm1,%xmm0
0x00007fe977dda063 : vmovapd %xmm1,%xmm2
0x00007fe977dda067 : vfnmadd132sd %xmm5,%xmm4,%xmm2
0x00007fe977dda06c : vsubsd %xmm2,%xmm4,%xmm4
0x00007fe977dda070 : vmovapd %xmm2,%xmm3
0x00007fe977dda074 : vmovsd %xmm2,0x8(%rsp)
0x00007fe977dda07a : vfnmadd132sd %xmm5,%xmm4,%xmm1
0x00007fe977dda07f : vmovq 0x2c229(%rip),%xmm5 # 0x7fe977e062b0
0x00007fe977dda087 : vandpd %xmm5,%xmm3,%xmm3
0x00007fe977dda08b : vaddsd %xmm1,%xmm0,%xmm1
0x00007fe977dda08f : vmovsd %xmm1,0x10(%rsp)
0x00007fe977dda095 : test $0x1,%al
0x00007fe977dda097 : je 0x7fe977dda210
0x00007fe977dda09d : vmovsd 0x4bbfb(%rip),%xmm0 # 0x7fe977e25ca0
0x00007fe977dda0a5 : vcomisd %xmm3,%xmm0
0x00007fe977dda0a9 : ja 0x7fe977dda430
0x00007fe977dda0af : vxorpd %xmm0,%xmm0,%xmm0
0x00007fe977dda0b3 : vmovq 0x2c225(%rip),%xmm6 # 0x7fe977e062e0
0x00007fe977dda0bb : vcomisd %xmm2,%xmm0
0x00007fe977dda0bf : jb 0x7fe977dda0c5
0x00007fe977dda0c1 : vxorpd %xmm6,%xmm1,%xmm1
0x00007fe977dda0c5 : vmovsd 0x4bc03(%rip),%xmm4 # 0x7fe977e25cd0
0x00007fe977dda0cd : vmovsd 0x4bc03(%rip),%xmm8 # 0x7fe977e25cd8
0x00007fe977dda0d5 : lea 0x5f304(%rip),%rdx # 0x7fe977e393e0
0x00007fe977dda0dc : vaddsd %xmm4,%xmm3,%xmm0
0x00007fe977dda0e0 : vsubsd %xmm4,%xmm0,%xmm4
0x00007fe977dda0e4 : vmovq %xmm0,%rax
0x00007fe977dda0e9 : shl $0x2,%eax
0x00007fe977dda0ec : movslq %eax,%rsi
0x00007fe977dda0ef : lea 0x3(%rax),%edi
0x00007fe977dda0f2 : vsubsd %xmm4,%xmm3,%xmm3
0x00007fe977dda0f6 : vmovsd (%rdx,%rsi,8),%xmm0
0x00007fe977dda0fb : lea 0x1(%rax),%esi
0x00007fe977dda0fe : movslq %edi,%rdi
0x00007fe977dda101 : movslq %esi,%rsi
0x00007fe977dda104 : add $0x2,%eax
0x00007fe977dda107 : cltq
0x00007fe977dda109 : vmulsd %xmm3,%xmm3,%xmm7
0x00007fe977dda10d : vfmadd213sd 0x80faa(%rip),%xmm7,%xmm8 # 0x7fe977e5b0c0
0x00007fe977dda116 : vmulsd %xmm7,%xmm3,%xmm4
0x00007fe977dda11a : vfmadd132sd %xmm8,%xmm1,%xmm4
0x00007fe977dda11f : vmovsd 0x4bbc1(%rip),%xmm8 # 0x7fe977e25ce8
--Type for more, q to quit, c to continue without paging--
0x00007fe977dda127 : vfmadd213sd 0x80f98(%rip),%xmm7,%xmm8 # 0x7fe977e5b0c8
0x00007fe977dda130 : vfmadd213sd 0x2c977(%rip),%xmm7,%xmm8 # 0x7fe977e06ab0
0x00007fe977dda139 : vaddsd %xmm4,%xmm3,%xmm4
0x00007fe977dda13d : vmulsd %xmm8,%xmm7,%xmm7
0x00007fe977dda142 : vfmadd132sd %xmm3,%xmm7,%xmm1
0x00007fe977dda147 : vmovsd (%rdx,%rdi,8),%xmm3
0x00007fe977dda14c : vfmadd213sd (%rdx,%rsi,8),%xmm4,%xmm3
0x00007fe977dda152 : vmovapd %xmm2,%xmm7
0x00007fe977dda156 : vandpd %xmm6,%xmm7,%xmm7
0x00007fe977dda15a : vfnmadd231sd %xmm0,%xmm1,%xmm3
0x00007fe977dda15f : vfmadd231sd (%rdx,%rax,8),%xmm4,%xmm3
0x00007fe977dda165 : vaddsd %xmm3,%xmm0,%xmm3
0x00007fe977dda169 : vandnpd %xmm3,%xmm6,%xmm6
0x00007fe977dda16d : vorpd %xmm7,%xmm6,%xmm6
0x00007fe977dda171 : vmovapd %xmm6,%xmm1
0x00007fe977dda175 : and $0x2,%ecx
0x00007fe977dda178 : je 0x7fe977dd9ea8
0x00007fe977dda17e : vxorpd 0x2c15a(%rip),%xmm1,%xmm1 # 0x7fe977e062e0
0x00007fe977dda186 : jmpq 0x7fe977dd9ea8
0x00007fe977dda18b : nopl 0x0(%rax,%rax,1)
0x00007fe977dda190 : vmovsd 0x2c128(%rip),%xmm1 # 0x7fe977e062c0
0x00007fe977dda198 : vstmxcsr 0x4(%rsp)
0x00007fe977dda19e : mov 0x4(%rsp),%eax
0x00007fe977dda1a2 : and $0x6000,%ebx
0x00007fe977dda1a8 : and $0x9f,%ah
0x00007fe977dda1ab : or %eax,%ebx
0x00007fe977dda1ad : mov %ebx,0x4(%rsp)
0x00007fe977dda1b1 : vldmxcsr 0x4(%rsp)
0x00007fe977dda1b7 : jmpq 0x7fe977dd9eb1
0x00007fe977dda1bc : nopl 0x0(%rax)
0x00007fe977dda1c0 : vldmxcsr 0x10(%rsp)
0x00007fe977dda1c6 : cmp $0x3e3fffff,%eax
0x00007fe977dda1cb : jle 0x7fe977dda190
0x00007fe977dda1cd : mov $0x1,%ebp
0x00007fe977dda1d2 : jmpq 0x7fe977dd9de8
0x00007fe977dda1d7 : nopw 0x0(%rax,%rax,1)
0x00007fe977dda1e0 : cmp $0x7fefffff,%eax
0x00007fe977dda1e5 : jle 0x7fe977dda2d0
0x00007fe977dda1eb : cmp $0x7ff00000,%eax
0x00007fe977dda1f0 : je 0x7fe977dda410
0x00007fe977dda1f6 : vdivsd %xmm0,%xmm0,%xmm1
0x00007fe977dda1fa : jmpq 0x7fe977dd9ea8
0x00007fe977dda1ff : nop
0x00007fe977dda200 : vxorpd %xmm6,%xmm0,%xmm0
0x00007fe977dda204 : jmpq 0x7fe977dd9f43
0x00007fe977dda209 : nopl 0x0(%rax)
0x00007fe977dda210 : vxorpd %xmm4,%xmm4,%xmm4
0x00007fe977dda214 : vmovapd %xmm1,%xmm5
0x00007fe977dda218 : vxorpd 0x2c0c0(%rip),%xmm1,%xmm1 # 0x7fe977e062e0
0x00007fe977dda220 : vcmpltsd %xmm4,%xmm2,%xmm4
0x00007fe977dda225 : vmovsd 0x4baa3(%rip),%xmm2 # 0x7fe977e25cd0
0x00007fe977dda22d : lea 0x5f1ac(%rip),%rdx # 0x7fe977e393e0
0x00007fe977dda234 : vaddsd %xmm2,%xmm3,%xmm0
0x00007fe977dda238 : vblendvpd %xmm4,%xmm1,%xmm5,%xmm1
0x00007fe977dda23e : vmovsd 0x4ba92(%rip),%xmm4 # 0x7fe977e25cd8
0x00007fe977dda246 : vsubsd %xmm2,%xmm0,%xmm2
0x00007fe977dda24a : vmovq %xmm0,%rax
0x00007fe977dda24f : shl $0x2,%eax
0x00007fe977dda252 : lea 0x2(%rax),%esi
0x00007fe977dda255 : lea 0x1(%rax),%edi
0x00007fe977dda258 : vsubsd %xmm2,%xmm3,%xmm3
0x00007fe977dda25c : movslq %esi,%rsi
--Type for more, q to quit, c to continue without paging--
0x00007fe977dda25f : movslq %edi,%rdi
0x00007fe977dda262 : vmovsd (%rdx,%rdi,8),%xmm0
0x00007fe977dda267 : vaddsd %xmm1,%xmm3,%xmm1
0x00007fe977dda26b : vmulsd %xmm1,%xmm1,%xmm2
0x00007fe977dda26f : vfmadd213sd 0x80e48(%rip),%xmm2,%xmm4 # 0x7fe977e5b0c0
0x00007fe977dda278 : vmulsd %xmm2,%xmm1,%xmm3
0x00007fe977dda27c : vfmadd132sd %xmm4,%xmm1,%xmm3
0x00007fe977dda281 : vmovsd 0x4ba5f(%rip),%xmm1 # 0x7fe977e25ce8
0x00007fe977dda289 : vfmadd213sd 0x80e36(%rip),%xmm2,%xmm1 # 0x7fe977e5b0c8
0x00007fe977dda292 : vfmadd213sd 0x2c815(%rip),%xmm2,%xmm1 # 0x7fe977e06ab0
0x00007fe977dda29b : vmulsd %xmm1,%xmm2,%xmm2
0x00007fe977dda29f : vmovsd (%rdx,%rsi,8),%xmm1
0x00007fe977dda2a4 : lea 0x3(%rax),%esi
0x00007fe977dda2a7 : cltq
0x00007fe977dda2a9 : movslq %esi,%rsi
0x00007fe977dda2ac : vfnmadd213sd (%rdx,%rsi,8),%xmm3,%xmm0
0x00007fe977dda2b2 : vfnmadd132sd %xmm1,%xmm0,%xmm2
0x00007fe977dda2b7 : vfnmadd231sd (%rdx,%rax,8),%xmm3,%xmm2
0x00007fe977dda2bd : vaddsd %xmm2,%xmm1,%xmm1
0x00007fe977dda2c1 : jmpq 0x7fe977dda175
0x00007fe977dda2c6 : nopw %cs:0x0(%rax,%rax,1)
0x00007fe977dda2d0 : lea 0x10(%rsp),%rsi
0x00007fe977dda2d5 : lea 0x8(%rsp),%rdi
0x00007fe977dda2da : callq 0x7fe977dc8030
0x00007fe977dda2df : vmovsd 0x10(%rsp),%xmm3
0x00007fe977dda2e5 : vmovsd 0x8(%rsp),%xmm2
0x00007fe977dda2eb : lea 0x1(%rax),%ecx
0x00007fe977dda2ee : test $0x1,%al
0x00007fe977dda2f0 : jne 0x7fe977dda480
0x00007fe977dda2f6 : vxorpd %xmm0,%xmm0,%xmm0
0x00007fe977dda2fa : vmovapd %xmm3,%xmm1
0x00007fe977dda2fe : vxorpd 0x2bfda(%rip),%xmm3,%xmm3 # 0x7fe977e062e0
0x00007fe977dda306 : vmovsd 0x4b9ca(%rip),%xmm4 # 0x7fe977e25cd8
0x00007fe977dda30e : vcmpltsd %xmm0,%xmm2,%xmm0
0x00007fe977dda313 : vandpd 0x2bf95(%rip),%xmm2,%xmm2 # 0x7fe977e062b0
0x00007fe977dda31b : lea 0x5f0be(%rip),%rdx # 0x7fe977e393e0
0x00007fe977dda322 : vblendvpd %xmm0,%xmm3,%xmm1,%xmm3
0x00007fe977dda328 : vmovapd %xmm2,%xmm1
0x00007fe977dda32c : vmovsd 0x4b99c(%rip),%xmm2 # 0x7fe977e25cd0
0x00007fe977dda334 : vaddsd %xmm2,%xmm1,%xmm0
0x00007fe977dda338 : vsubsd %xmm2,%xmm0,%xmm2
0x00007fe977dda33c : vmovq %xmm0,%rax
0x00007fe977dda341 : shl $0x2,%eax
0x00007fe977dda344 : lea 0x2(%rax),%esi
0x00007fe977dda347 : lea 0x1(%rax),%edi
0x00007fe977dda34a : vsubsd %xmm2,%xmm1,%xmm2
0x00007fe977dda34e : movslq %esi,%rsi
0x00007fe977dda351 : movslq %edi,%rdi
0x00007fe977dda354 : vmovsd (%rdx,%rdi,8),%xmm0
0x00007fe977dda359 : vaddsd %xmm3,%xmm2,%xmm2
0x00007fe977dda35d : vmulsd %xmm2,%xmm2,%xmm1
0x00007fe977dda361 : vfmadd213sd 0x80d56(%rip),%xmm1,%xmm4 # 0x7fe977e5b0c0
0x00007fe977dda36a : vmulsd %xmm1,%xmm2,%xmm3
0x00007fe977dda36e : vfmadd132sd %xmm4,%xmm2,%xmm3
0x00007fe977dda373 : vmovsd 0x4b96d(%rip),%xmm2 # 0x7fe977e25ce8
0x00007fe977dda37b : vfmadd213sd 0x80d44(%rip),%xmm1,%xmm2 # 0x7fe977e5b0c8
0x00007fe977dda384 : vfmadd213sd 0x2c723(%rip),%xmm1,%xmm2 # 0x7fe977e06ab0
0x00007fe977dda38d : vmulsd %xmm2,%xmm1,%xmm2
0x00007fe977dda391 : vmovsd (%rdx,%rsi,8),%xmm1
0x00007fe977dda396 : lea 0x3(%rax),%esi
0x00007fe977dda399 : cltq
0x00007fe977dda39b : movslq %esi,%rsi
--Type for more, q to quit, c to continue without paging--
0x00007fe977dda39e : vfnmadd213sd (%rdx,%rsi,8),%xmm3,%xmm0
0x00007fe977dda3a4 : vfnmadd231sd %xmm1,%xmm2,%xmm0
0x00007fe977dda3a9 : vfnmadd231sd (%rdx,%rax,8),%xmm3,%xmm0
0x00007fe977dda3af : vaddsd %xmm0,%xmm1,%xmm1
0x00007fe977dda3b3 : jmpq 0x7fe977dda175
0x00007fe977dda3b8 : nopl 0x0(%rax,%rax,1)
0x00007fe977dda3c0 : vmulsd %xmm1,%xmm1,%xmm3
0x00007fe977dda3c4 : vmovsd 0x4b8dc(%rip),%xmm2 # 0x7fe977e25ca8
0x00007fe977dda3cc : vfmadd213sd 0x4b8db(%rip),%xmm3,%xmm2 # 0x7fe977e25cb0
0x00007fe977dda3d5 : vfmadd213sd 0x80cda(%rip),%xmm3,%xmm2 # 0x7fe977e5b0b8
0x00007fe977dda3de : vfmadd213sd 0x4b8d9(%rip),%xmm3,%xmm2 # 0x7fe977e25cc0
0x00007fe977dda3e7 : vmulsd 0x2c6c1(%rip),%xmm0,%xmm4 # 0x7fe977e06ab0
0x00007fe977dda3ef : vfmadd213sd 0x5df78(%rip),%xmm3,%xmm2 # 0x7fe977e38370
0x00007fe977dda3f8 : vfmsub132sd %xmm1,%xmm4,%xmm2
0x00007fe977dda3fd : vfmadd231sd %xmm2,%xmm3,%xmm0
0x00007fe977dda402 : vaddsd %xmm0,%xmm1,%xmm1
0x00007fe977dda406 : jmpq 0x7fe977dd9ea8
0x00007fe977dda40b : nopl 0x0(%rax,%rax,1)
0x00007fe977dda410 : vmovq %xmm0,%rax
0x00007fe977dda415 : test %eax,%eax
0x00007fe977dda417 : jne 0x7fe977dda1f6
0x00007fe977dda41d : mov 0xc5b94(%rip),%rax # 0x7fe977e9ffb8
0x00007fe977dda424 : movl $0x21,%fs:(%rax)
0x00007fe977dda42b : jmpq 0x7fe977dda1f6
0x00007fe977dda430 : vmulsd %xmm2,%xmm2,%xmm3
0x00007fe977dda434 : vmovsd 0x4b86c(%rip),%xmm0 # 0x7fe977e25ca8
0x00007fe977dda43c : vfmadd213sd 0x4b86b(%rip),%xmm3,%xmm0 # 0x7fe977e25cb0
0x00007fe977dda445 : vfmadd213sd 0x80c6a(%rip),%xmm3,%xmm0 # 0x7fe977e5b0b8
0x00007fe977dda44e : vfmadd213sd 0x4b869(%rip),%xmm3,%xmm0 # 0x7fe977e25cc0
0x00007fe977dda457 : vmulsd 0x2c651(%rip),%xmm1,%xmm4 # 0x7fe977e06ab0
0x00007fe977dda45f : vfmadd213sd 0x5df08(%rip),%xmm3,%xmm0 # 0x7fe977e38370
0x00007fe977dda468 : vfmsub132sd %xmm2,%xmm4,%xmm0
0x00007fe977dda46d : vfmadd231sd %xmm0,%xmm3,%xmm1
0x00007fe977dda472 : vaddsd %xmm2,%xmm1,%xmm1
0x00007fe977dda476 : jmpq 0x7fe977dda175
0x00007fe977dda47b : nopl 0x0(%rax,%rax,1)
0x00007fe977dda480 : vmovq 0x2be28(%rip),%xmm5 # 0x7fe977e062b0
0x00007fe977dda488 : vmovsd 0x4b810(%rip),%xmm1 # 0x7fe977e25ca0
0x00007fe977dda490 : vmovapd %xmm2,%xmm0
0x00007fe977dda494 : vandpd %xmm5,%xmm0,%xmm0
0x00007fe977dda498 : vcomisd %xmm0,%xmm1
0x00007fe977dda49c : ja 0x7fe977dda56d
0x00007fe977dda4a2 : vxorpd %xmm1,%xmm1,%xmm1
0x00007fe977dda4a6 : vmovq 0x2be32(%rip),%xmm6 # 0x7fe977e062e0
0x00007fe977dda4ae : vcomisd %xmm2,%xmm1
0x00007fe977dda4b2 : jb 0x7fe977dda4b8
0x00007fe977dda4b4 : vxorpd %xmm6,%xmm3,%xmm3
0x00007fe977dda4b8 : vmovsd 0x4b810(%rip),%xmm4 # 0x7fe977e25cd0
0x00007fe977dda4c0 : vmovsd 0x4b810(%rip),%xmm8 # 0x7fe977e25cd8
0x00007fe977dda4c8 : lea 0x5ef11(%rip),%rdx # 0x7fe977e393e0
0x00007fe977dda4cf : vaddsd %xmm4,%xmm0,%xmm1
0x00007fe977dda4d3 : vsubsd %xmm4,%xmm1,%xmm4
0x00007fe977dda4d7 : vmovq %xmm1,%rax
0x00007fe977dda4dc : shl $0x2,%eax
0x00007fe977dda4df : movslq %eax,%rsi
0x00007fe977dda4e2 : lea 0x3(%rax),%edi
0x00007fe977dda4e5 : vsubsd %xmm4,%xmm0,%xmm0
0x00007fe977dda4e9 : vmovsd (%rdx,%rsi,8),%xmm1
0x00007fe977dda4ee : lea 0x1(%rax),%esi
0x00007fe977dda4f1 : movslq %edi,%rdi
0x00007fe977dda4f4 : movslq %esi,%rsi
0x00007fe977dda4f7 : add $0x2,%eax
--Type for more, q to quit, c to continue without paging--



Подробнее здесь: https://stackoverflow.com/questions/794 ... n-cos-in-c
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Сигнал sigfpe при использовании sin/cos в c ++
    Anonymous » » в форуме C++
    0 Ответы
    18 Просмотры
    Последнее сообщение Anonymous
  • Сигнал sigfpe при использовании sin/cos в c ++
    Anonymous » » в форуме C++
    0 Ответы
    15 Просмотры
    Последнее сообщение Anonymous
  • Сигнал sigfpe при использовании sin/cos в c ++
    Anonymous » » в форуме C++
    0 Ответы
    21 Просмотры
    Последнее сообщение Anonymous
  • При интегрировании sin и cos с использованием Sympy результат должен быть таким же, но интегрирование cos дает значение
    Гость » » в форуме Python
    0 Ответы
    65 Просмотры
    Последнее сообщение Гость
  • Почему скорость загрузки в облачном хранилище объектов Tencent (COS) при использовании API в cos-cpp-sdk-v5 очень низкая
    Anonymous » » в форуме C++
    0 Ответы
    78 Просмотры
    Последнее сообщение Anonymous

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