Piotr Caban : msvcp90: Added std::arg(complex) implementation.
Module: wine Branch: master Commit: 3e974548378d52f83ce70cb6839ac244d2cfe5c1 URL: http://source.winehq.org/git/wine.git/?a=commit;h=3e974548378d52f83ce70cb683... Author: Piotr Caban <piotr(a)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(a)M@std@@YAMABV?$complex(a)M@0@@Z */ +/* ??$arg(a)M@std@@YAMAEBV?$complex(a)M@0@@Z */ +float __cdecl complex_float_arg(const complex_float *c) +{ + return atan2(c->imag, c->real); +} + /* ??0?$_Complex_base(a)NU_C_double_complex@@@std@@QAE(a)ABN0@Z */ /* ??0?$_Complex_base(a)NU_C_double_complex@@@std@@QEAA(a)AEBN0@Z */ /* ??0?$_Complex_base(a)OU_C_ldouble_complex@@@std@@QAE(a)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(a)N@std@@YANABV?$complex(a)N@0@@Z */ +/* ??$arg(a)N@std@@YANAEBV?$complex(a)N@0@@Z */ +/* ??$arg(a)O@std@@YAOABV?$complex(a)O@0@@Z */ +/* ??$arg(a)O@std@@YAOAEBV?$complex(a)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(a)N@std@@YANAEBV?$complex(a)N@0@@Z @ stub -arch=win32 ??$abs(a)O@std@@YAOABV?$complex(a)O@0@@Z @ stub -arch=win64 ??$abs(a)O@std@@YAOAEBV?$complex(a)O@0@@Z -@ stub -arch=win32 ??$arg(a)M@std@@YAMABV?$complex(a)M@0@@Z -@ stub -arch=win64 ??$arg(a)M@std@@YAMAEBV?$complex(a)M@0@@Z -@ stub -arch=win32 ??$arg(a)N@std@@YANABV?$complex(a)N@0@@Z -@ stub -arch=win64 ??$arg(a)N@std@@YANAEBV?$complex(a)N@0@@Z -@ stub -arch=win32 ??$arg(a)O@std@@YAOABV?$complex(a)O@0@@Z -@ stub -arch=win64 ??$arg(a)O@std@@YAOAEBV?$complex(a)O@0@@Z +@ cdecl -arch=win32 ??$arg(a)M@std@@YAMABV?$complex(a)M@0@@Z(ptr) complex_float_arg +@ cdecl -arch=win64 ??$arg(a)M@std@@YAMAEBV?$complex(a)M@0@@Z(ptr) complex_float_arg +@ cdecl -arch=win32 ??$arg(a)N@std@@YANABV?$complex(a)N@0@@Z(ptr) complex_double_arg +@ cdecl -arch=win64 ??$arg(a)N@std@@YANAEBV?$complex(a)N@0@@Z(ptr) complex_double_arg +@ cdecl -arch=win32 ??$arg(a)O@std@@YAOABV?$complex(a)O@0@@Z(ptr) complex_double_arg +@ cdecl -arch=win64 ??$arg(a)O@std@@YAOAEBV?$complex(a)O@0@@Z(ptr) complex_double_arg @ stub -arch=win32 ??$conj(a)M@std@@YA?AV?$complex(a)M@0(a)ABV10@@Z @ stub -arch=win64 ??$conj(a)M@std@@YA?AV?$complex(a)M@0(a)AEBV10@@Z @ stub -arch=win32 ??$conj(a)N@std@@YA?AV?$complex(a)N@0(a)ABV10@@Z
participants (1)
-
Alexandre Julliard