Module: wine Branch: master Commit: 3e974548378d52f83ce70cb6839ac244d2cfe5c1 URL: http://source.winehq.org/git/wine.git/?a=commit;h=3e974548378d52f83ce70cb683...
Author: Piotr Caban piotr@codeweavers.com Date: Wed Jan 16 14:27:53 2013 +0100
msvcp90: Added std::arg(complex) implementation.
---
dlls/msvcp90/math.c | 16 ++++++++++++++++ dlls/msvcp90/msvcp90.spec | 12 ++++++------ 2 files changed, 22 insertions(+), 6 deletions(-)
diff --git a/dlls/msvcp90/math.c b/dlls/msvcp90/math.c index e45c9e5..4587070 100644 --- a/dlls/msvcp90/math.c +++ b/dlls/msvcp90/math.c @@ -1223,6 +1223,13 @@ complex_float* __thiscall complex_float_div_assign(complex_float *this, const co return complex_float_div(this, &tmp, r); }
+/* ??$arg@M@std@@YAMABV?$complex@M@0@@Z */ +/* ??$arg@M@std@@YAMAEBV?$complex@M@0@@Z */ +float __cdecl complex_float_arg(const complex_float *c) +{ + return atan2(c->imag, c->real); +} + /* ??0?$_Complex_base@NU_C_double_complex@@@std@@QAE@ABN0@Z */ /* ??0?$_Complex_base@NU_C_double_complex@@@std@@QEAA@AEBN0@Z */ /* ??0?$_Complex_base@OU_C_ldouble_complex@@@std@@QAE@ABO0@Z */ @@ -1622,3 +1629,12 @@ complex_double* __thiscall complex_double_div_assign(complex_double *this, const complex_double tmp = *this; return complex_double_div(this, &tmp, r); } + +/* ??$arg@N@std@@YANABV?$complex@N@0@@Z */ +/* ??$arg@N@std@@YANAEBV?$complex@N@0@@Z */ +/* ??$arg@O@std@@YAOABV?$complex@O@0@@Z */ +/* ??$arg@O@std@@YAOAEBV?$complex@O@0@@Z */ +double __cdecl complex_double_arg(const complex_double *c) +{ + return atan2(c->imag, c->real); +} diff --git a/dlls/msvcp90/msvcp90.spec b/dlls/msvcp90/msvcp90.spec index 90b321a..fc2e7a8 100644 --- a/dlls/msvcp90/msvcp90.spec +++ b/dlls/msvcp90/msvcp90.spec @@ -356,12 +356,12 @@ @ stub -arch=win64 ??$abs@N@std@@YANAEBV?$complex@N@0@@Z @ stub -arch=win32 ??$abs@O@std@@YAOABV?$complex@O@0@@Z @ stub -arch=win64 ??$abs@O@std@@YAOAEBV?$complex@O@0@@Z -@ stub -arch=win32 ??$arg@M@std@@YAMABV?$complex@M@0@@Z -@ stub -arch=win64 ??$arg@M@std@@YAMAEBV?$complex@M@0@@Z -@ stub -arch=win32 ??$arg@N@std@@YANABV?$complex@N@0@@Z -@ stub -arch=win64 ??$arg@N@std@@YANAEBV?$complex@N@0@@Z -@ stub -arch=win32 ??$arg@O@std@@YAOABV?$complex@O@0@@Z -@ stub -arch=win64 ??$arg@O@std@@YAOAEBV?$complex@O@0@@Z +@ cdecl -arch=win32 ??$arg@M@std@@YAMABV?$complex@M@0@@Z(ptr) complex_float_arg +@ cdecl -arch=win64 ??$arg@M@std@@YAMAEBV?$complex@M@0@@Z(ptr) complex_float_arg +@ cdecl -arch=win32 ??$arg@N@std@@YANABV?$complex@N@0@@Z(ptr) complex_double_arg +@ cdecl -arch=win64 ??$arg@N@std@@YANAEBV?$complex@N@0@@Z(ptr) complex_double_arg +@ cdecl -arch=win32 ??$arg@O@std@@YAOABV?$complex@O@0@@Z(ptr) complex_double_arg +@ cdecl -arch=win64 ??$arg@O@std@@YAOAEBV?$complex@O@0@@Z(ptr) complex_double_arg @ stub -arch=win32 ??$conj@M@std@@YA?AV?$complex@M@0@ABV10@@Z @ stub -arch=win64 ??$conj@M@std@@YA?AV?$complex@M@0@AEBV10@@Z @ stub -arch=win32 ??$conj@N@std@@YA?AV?$complex@N@0@ABV10@@Z