Piotr Caban : msvcp90: Fix complex::operator*= implementation.

Alexandre Julliard julliard at wine.codeweavers.com
Tue Sep 2 14:30:38 CDT 2014


Module: wine
Branch: master
Commit: f370017e6f2179e5a3bdae0b9ef7f25afa9deaab
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=f370017e6f2179e5a3bdae0b9ef7f25afa9deaab

Author: Piotr Caban <piotr at codeweavers.com>
Date:   Tue Sep  2 11:38:45 2014 +0200

msvcp90: Fix complex::operator*= implementation.

---

 dlls/msvcp90/math.c | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

diff --git a/dlls/msvcp90/math.c b/dlls/msvcp90/math.c
index 6c20b2c..ec0b4f8 100644
--- a/dlls/msvcp90/math.c
+++ b/dlls/msvcp90/math.c
@@ -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;
 }
 




More information about the wine-cvs mailing list