Commit f370017e authored by Piotr Caban's avatar Piotr Caban Committed by Alexandre Julliard

msvcp90: Fix complex::operator*= implementation.

parent 6b18f619
......@@ -1162,10 +1162,11 @@ complex_float* __thiscall complex_float_mult_assign_float(complex_float *this, c
DEFINE_THISCALL_WRAPPER(complex_float_mult_assign, 8)
complex_float* __thiscall complex_float_mult_assign(complex_float *this, const complex_float *r)
{
complex_float tmp = *this;
complex_float tmp;
this->real = tmp.real*r->real - tmp.imag*r->imag;
this->imag = tmp.real*r->imag + tmp.imag*r->real;
tmp.real = this->real*r->real - this->imag*r->imag;
tmp.imag = this->real*r->imag + this->imag*r->real;
*this = tmp;
return this;
}
......@@ -1819,10 +1820,11 @@ complex_double* __thiscall complex_double_mult_assign_double(complex_double *thi
DEFINE_THISCALL_WRAPPER(complex_double_mult_assign, 8)
complex_double* __thiscall complex_double_mult_assign(complex_double *this, const complex_double *r)
{
complex_double tmp = *this;
complex_double tmp;
this->real = tmp.real*r->real - tmp.imag*r->imag;
this->imag = tmp.real*r->imag + tmp.imag*r->real;
tmp.real = this->real*r->real - this->imag*r->imag;
tmp.imag = this->real*r->imag + this->imag*r->real;
*this = tmp;
return this;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment