Al depurar un programa que utiliza (C o C++), gdb
muestra números complejos como _M_value = xxx + yyy*I
(con un tipo de complex double
).GDB - Acceso a partes reales e imaginarias de un número complejo
Al depurar, necesito imprimir ese número multiplicado por un factor.
La siguiente no lo hace trabajo:
print a * 8.0
me sale Argument to arithmetic operation not a number or boolean
.
Además, no puedo acceder a las partes reales e imaginarias para que pueda escribir una macro gdb para hacer lo anterior. Mi solución actual es escribir una función C para manipular matrices y valores complejos, y llamar a esa función desde gdb. De alguna manera, esto simplemente no se siente bien.
Cómo se utiliza el estándar de C++ plantilla compleja? si es así, ¿no funciona a.real()/a.imaj()? – neuro
@neuro: gracias - los métodos .real() y .imag() funcionan. – nimrodm
de nada. He puesto mi comentario en una respuesta para ayudar a la gente (¿fue para ganar reputación? ^^) – neuro