diff --git a/dlls/msvcp90/math.c b/dlls/msvcp90/math.c index 45870709d90..8d25e76b758 100644 --- a/dlls/msvcp90/math.c +++ b/dlls/msvcp90/math.c @@ -1230,6 +1230,52 @@ float __cdecl complex_float_arg(const complex_float *c) return atan2(c->imag, c->real); } +/* ??$imag@M@std@@YAMABV?$complex@M@0@@Z */ +/* ??$imag@M@std@@YAMAEBV?$complex@M@0@@Z */ +float __cdecl complex_float_imag(const complex_float *c) +{ + return c->imag; +} + +/* ?imag@?$_Complex_base@MU_C_float_complex@@@std@@QAEMABM@Z */ +/* ?imag@?$_Complex_base@MU_C_float_complex@@@std@@QEAAMAEBM@Z */ +DEFINE_THISCALL_WRAPPER(complex_float_imag_set, 8) +float __thiscall complex_float_imag_set(complex_float *this, const float *f) +{ + return (this->imag = *f); +} + +/* ?imag@?$_Complex_base@MU_C_float_complex@@@std@@QBEMXZ */ +/* ?imag@?$_Complex_base@MU_C_float_complex@@@std@@QEBAMXZ */ +DEFINE_THISCALL_WRAPPER(complex_float_imag_get, 4) +float __thiscall complex_float_imag_get(const complex_float *this) +{ + return this->imag; +} + +/* ??$real@M@std@@YAMABV?$complex@M@0@@Z */ +/* ??$real@M@std@@YAMAEBV?$complex@M@0@@Z */ +float __cdecl complex_float_real(const complex_float *c) +{ + return c->real; +} + +/* ?real@?$_Complex_base@MU_C_float_complex@@@std@@QAEMABM@Z */ +/* ?real@?$_Complex_base@MU_C_float_complex@@@std@@QEAAMAEBM@Z */ +DEFINE_THISCALL_WRAPPER(complex_float_real_set, 8) +float __thiscall complex_float_real_set(complex_float *this, const float *f) +{ + return (this->real = *f); +} + +/* ?real@?$_Complex_base@MU_C_float_complex@@@std@@QBEMXZ */ +/* ?real@?$_Complex_base@MU_C_float_complex@@@std@@QEBAMXZ */ +DEFINE_THISCALL_WRAPPER(complex_float_real_get, 4) +float __thiscall complex_float_real_get(const complex_float *this) +{ + return this->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 */ @@ -1638,3 +1684,61 @@ double __cdecl complex_double_arg(const complex_double *c) { return atan2(c->imag, c->real); } + +/* ??$imag@N@std@@YANABV?$complex@N@0@@Z */ +/* ??$imag@N@std@@YANAEBV?$complex@N@0@@Z */ +/* ??$imag@O@std@@YAOABV?$complex@O@0@@Z */ +/* ??$imag@O@std@@YAOAEBV?$complex@O@0@@Z */ +double __cdecl complex_double_imag(const complex_double *c) +{ + return c->imag; +} + +/* ?imag@?$_Complex_base@NU_C_double_complex@@@std@@QAENABN@Z */ +/* ?imag@?$_Complex_base@NU_C_double_complex@@@std@@QEAANAEBN@Z */ +/* ?imag@?$_Complex_base@OU_C_ldouble_complex@@@std@@QAEOABO@Z */ +/* ?imag@?$_Complex_base@OU_C_ldouble_complex@@@std@@QEAAOAEBO@Z */ +DEFINE_THISCALL_WRAPPER(complex_double_imag_set, 8) +double __thiscall complex_double_imag_set(complex_double *this, const double *d) +{ + return (this->imag = *d); +} + +/* ?imag@?$_Complex_base@NU_C_double_complex@@@std@@QBENXZ */ +/* ?imag@?$_Complex_base@NU_C_double_complex@@@std@@QEBANXZ */ +/* ?imag@?$_Complex_base@OU_C_ldouble_complex@@@std@@QBEOXZ */ +/* ?imag@?$_Complex_base@OU_C_ldouble_complex@@@std@@QEBAOXZ */ +DEFINE_THISCALL_WRAPPER(complex_double_imag_get, 4) +double __thiscall complex_double_imag_get(const complex_double *this) +{ + return this->imag; +} + +/* ??$real@N@std@@YANABV?$complex@N@0@@Z */ +/* ??$real@N@std@@YANAEBV?$complex@N@0@@Z */ +/* ??$real@O@std@@YAOABV?$complex@O@0@@Z */ +/* ??$real@O@std@@YAOAEBV?$complex@O@0@@Z */ +double __cdecl complex_double_real(const complex_double *c) +{ + return c->real; +} + +/* ?real@?$_Complex_base@NU_C_double_complex@@@std@@QAENABN@Z */ +/* ?real@?$_Complex_base@NU_C_double_complex@@@std@@QEAANAEBN@Z */ +/* ?real@?$_Complex_base@OU_C_ldouble_complex@@@std@@QAEOABO@Z */ +/* ?real@?$_Complex_base@OU_C_ldouble_complex@@@std@@QEAAOAEBO@Z */ +DEFINE_THISCALL_WRAPPER(complex_double_real_set, 8) +double __thiscall complex_double_real_set(complex_double *this, const double *d) +{ + return (this->real = *d); +} + +/* ?real@?$_Complex_base@NU_C_double_complex@@@std@@QBENXZ */ +/* ?real@?$_Complex_base@NU_C_double_complex@@@std@@QEBANXZ */ +/* ?real@?$_Complex_base@OU_C_ldouble_complex@@@std@@QBEOXZ */ +/* ?real@?$_Complex_base@OU_C_ldouble_complex@@@std@@QEBAOXZ */ +DEFINE_THISCALL_WRAPPER(complex_double_real_get, 4) +double __thiscall complex_double_real_get(const complex_double *this) +{ + return this->real; +} diff --git a/dlls/msvcp90/msvcp90.spec b/dlls/msvcp90/msvcp90.spec index fc2e7a879aa..14540b4ee4c 100644 --- a/dlls/msvcp90/msvcp90.spec +++ b/dlls/msvcp90/msvcp90.spec @@ -398,12 +398,12 @@ @ cdecl -arch=win64 ??$getline@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@YAAEAV?$basic_istream@_WU?$char_traits@_W@std@@@0@AEAV10@AEAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@@Z(ptr ptr) basic_istream_wchar_getline_bstr @ cdecl -arch=win32 ??$getline@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@YAAAV?$basic_istream@_WU?$char_traits@_W@std@@@0@AAV10@AAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@_W@Z(ptr ptr long) basic_istream_wchar_getline_bstr_delim @ cdecl -arch=win64 ??$getline@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@YAAEAV?$basic_istream@_WU?$char_traits@_W@std@@@0@AEAV10@AEAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@_W@Z(ptr ptr long) basic_istream_wchar_getline_bstr_delim -@ stub -arch=win32 ??$imag@M@std@@YAMABV?$complex@M@0@@Z -@ stub -arch=win64 ??$imag@M@std@@YAMAEBV?$complex@M@0@@Z -@ stub -arch=win32 ??$imag@N@std@@YANABV?$complex@N@0@@Z -@ stub -arch=win64 ??$imag@N@std@@YANAEBV?$complex@N@0@@Z -@ stub -arch=win32 ??$imag@O@std@@YAOABV?$complex@O@0@@Z -@ stub -arch=win64 ??$imag@O@std@@YAOAEBV?$complex@O@0@@Z +@ cdecl -arch=win32 ??$imag@M@std@@YAMABV?$complex@M@0@@Z(ptr) complex_float_imag +@ cdecl -arch=win64 ??$imag@M@std@@YAMAEBV?$complex@M@0@@Z(ptr) complex_float_imag +@ cdecl -arch=win32 ??$imag@N@std@@YANABV?$complex@N@0@@Z(ptr) complex_double_imag +@ cdecl -arch=win64 ??$imag@N@std@@YANAEBV?$complex@N@0@@Z(ptr) complex_double_imag +@ cdecl -arch=win32 ??$imag@O@std@@YAOABV?$complex@O@0@@Z(ptr) complex_double_imag +@ cdecl -arch=win64 ??$imag@O@std@@YAOAEBV?$complex@O@0@@Z(ptr) complex_double_imag @ stub -arch=win32 ??$log10@M@std@@YA?AV?$complex@M@0@ABV10@@Z @ stub -arch=win64 ??$log10@M@std@@YA?AV?$complex@M@0@AEBV10@@Z @ stub -arch=win32 ??$log10@N@std@@YA?AV?$complex@N@0@ABV10@@Z @@ -458,12 +458,12 @@ @ stub -arch=win64 ??$pow@O@std@@YA?AV?$complex@O@0@AEBV10@AEBO@Z @ stub -arch=win32 ??$pow@O@std@@YA?AV?$complex@O@0@ABV10@H@Z @ stub -arch=win64 ??$pow@O@std@@YA?AV?$complex@O@0@AEBV10@H@Z -@ stub -arch=win32 ??$real@M@std@@YAMABV?$complex@M@0@@Z -@ stub -arch=win64 ??$real@M@std@@YAMAEBV?$complex@M@0@@Z -@ stub -arch=win32 ??$real@N@std@@YANABV?$complex@N@0@@Z -@ stub -arch=win64 ??$real@N@std@@YANAEBV?$complex@N@0@@Z -@ stub -arch=win32 ??$real@O@std@@YAOABV?$complex@O@0@@Z -@ stub -arch=win64 ??$real@O@std@@YAOAEBV?$complex@O@0@@Z +@ cdecl -arch=win32 ??$real@M@std@@YAMABV?$complex@M@0@@Z(ptr) complex_float_real +@ cdecl -arch=win64 ??$real@M@std@@YAMAEBV?$complex@M@0@@Z(ptr) complex_float_real +@ cdecl -arch=win32 ??$real@N@std@@YANABV?$complex@N@0@@Z(ptr) complex_double_real +@ cdecl -arch=win64 ??$real@N@std@@YANAEBV?$complex@N@0@@Z(ptr) complex_double_real +@ cdecl -arch=win32 ??$real@O@std@@YAOABV?$complex@O@0@@Z(ptr) complex_double_real +@ cdecl -arch=win64 ??$real@O@std@@YAOAEBV?$complex@O@0@@Z(ptr) complex_double_real @ stub -arch=win32 ??$sin@M@std@@YA?AV?$complex@M@0@ABV10@@Z @ stub -arch=win64 ??$sin@M@std@@YA?AV?$complex@M@0@AEBV10@@Z @ stub -arch=win32 ??$sin@N@std@@YA?AV?$complex@N@0@ABV10@@Z @@ -4238,18 +4238,18 @@ @ cdecl -arch=win64 ?ignore@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@_JG@Z(ptr long long) basic_istream_wchar_ignore @ thiscall -arch=win32 ?ignore@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV12@HG@Z(ptr long long) basic_istream_wchar_ignore @ cdecl -arch=win64 ?ignore@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV12@_JG@Z(ptr long long) basic_istream_wchar_ignore -@ stub -arch=win32 ?imag@?$_Complex_base@MU_C_float_complex@@@std@@QAEMABM@Z -@ stub -arch=win64 ?imag@?$_Complex_base@MU_C_float_complex@@@std@@QEAAMAEBM@Z -@ stub -arch=win32 ?imag@?$_Complex_base@MU_C_float_complex@@@std@@QBEMXZ -@ stub -arch=win64 ?imag@?$_Complex_base@MU_C_float_complex@@@std@@QEBAMXZ -@ stub -arch=win32 ?imag@?$_Complex_base@NU_C_double_complex@@@std@@QAENABN@Z -@ stub -arch=win64 ?imag@?$_Complex_base@NU_C_double_complex@@@std@@QEAANAEBN@Z -@ stub -arch=win32 ?imag@?$_Complex_base@NU_C_double_complex@@@std@@QBENXZ -@ stub -arch=win64 ?imag@?$_Complex_base@NU_C_double_complex@@@std@@QEBANXZ -@ stub -arch=win32 ?imag@?$_Complex_base@OU_C_ldouble_complex@@@std@@QAEOABO@Z -@ stub -arch=win64 ?imag@?$_Complex_base@OU_C_ldouble_complex@@@std@@QEAAOAEBO@Z -@ stub -arch=win32 ?imag@?$_Complex_base@OU_C_ldouble_complex@@@std@@QBEOXZ -@ stub -arch=win64 ?imag@?$_Complex_base@OU_C_ldouble_complex@@@std@@QEBAOXZ +@ thiscall -arch=win32 ?imag@?$_Complex_base@MU_C_float_complex@@@std@@QAEMABM@Z(ptr ptr) complex_float_imag_set +@ cdecl -arch=win64 ?imag@?$_Complex_base@MU_C_float_complex@@@std@@QEAAMAEBM@Z(ptr ptr) complex_float_imag_set +@ thiscall -arch=win32 ?imag@?$_Complex_base@MU_C_float_complex@@@std@@QBEMXZ(ptr) complex_float_imag_get +@ cdecl -arch=win64 ?imag@?$_Complex_base@MU_C_float_complex@@@std@@QEBAMXZ(ptr) complex_float_imag_get +@ thiscall -arch=win32 ?imag@?$_Complex_base@NU_C_double_complex@@@std@@QAENABN@Z(ptr ptr) complex_double_imag_set +@ cdecl -arch=win64 ?imag@?$_Complex_base@NU_C_double_complex@@@std@@QEAANAEBN@Z(ptr ptr) complex_double_imag_set +@ thiscall -arch=win32 ?imag@?$_Complex_base@NU_C_double_complex@@@std@@QBENXZ(ptr) complex_double_imag_get +@ cdecl -arch=win64 ?imag@?$_Complex_base@NU_C_double_complex@@@std@@QEBANXZ(ptr) complex_double_imag_get +@ thiscall -arch=win32 ?imag@?$_Complex_base@OU_C_ldouble_complex@@@std@@QAEOABO@Z(ptr ptr) complex_double_imag_set +@ cdecl -arch=win64 ?imag@?$_Complex_base@OU_C_ldouble_complex@@@std@@QEAAOAEBO@Z(ptr ptr) complex_double_imag_set +@ thiscall -arch=win32 ?imag@?$_Complex_base@OU_C_ldouble_complex@@@std@@QBEOXZ(ptr) complex_double_imag_get +@ cdecl -arch=win64 ?imag@?$_Complex_base@OU_C_ldouble_complex@@@std@@QEBAOXZ(ptr) complex_double_imag_get @ thiscall -arch=win32 ?imbue@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEXABVlocale@2@@Z(ptr ptr) basic_filebuf_char_imbue @ cdecl -arch=win64 ?imbue@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MEAAXAEBVlocale@2@@Z(ptr ptr) basic_filebuf_char_imbue @ thiscall -arch=win32 ?imbue@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MAEXABVlocale@2@@Z(ptr ptr) basic_filebuf_short_imbue @@ -5075,18 +5075,18 @@ @ cdecl -arch=win64 ?readsome@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAA_JPEAG_J@Z(ptr ptr long) basic_istream_wchar_readsome @ thiscall -arch=win32 ?readsome@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEHPA_WH@Z(ptr ptr long) basic_istream_wchar_readsome @ cdecl -arch=win64 ?readsome@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAA_JPEA_W_J@Z(ptr ptr long) basic_istream_wchar_readsome -@ stub -arch=win32 ?real@?$_Complex_base@MU_C_float_complex@@@std@@QAEMABM@Z -@ stub -arch=win64 ?real@?$_Complex_base@MU_C_float_complex@@@std@@QEAAMAEBM@Z -@ stub -arch=win32 ?real@?$_Complex_base@MU_C_float_complex@@@std@@QBEMXZ -@ stub -arch=win64 ?real@?$_Complex_base@MU_C_float_complex@@@std@@QEBAMXZ -@ stub -arch=win32 ?real@?$_Complex_base@NU_C_double_complex@@@std@@QAENABN@Z -@ stub -arch=win64 ?real@?$_Complex_base@NU_C_double_complex@@@std@@QEAANAEBN@Z -@ stub -arch=win32 ?real@?$_Complex_base@NU_C_double_complex@@@std@@QBENXZ -@ stub -arch=win64 ?real@?$_Complex_base@NU_C_double_complex@@@std@@QEBANXZ -@ stub -arch=win32 ?real@?$_Complex_base@OU_C_ldouble_complex@@@std@@QAEOABO@Z -@ stub -arch=win64 ?real@?$_Complex_base@OU_C_ldouble_complex@@@std@@QEAAOAEBO@Z -@ stub -arch=win32 ?real@?$_Complex_base@OU_C_ldouble_complex@@@std@@QBEOXZ -@ stub -arch=win64 ?real@?$_Complex_base@OU_C_ldouble_complex@@@std@@QEBAOXZ +@ thiscall -arch=win32 ?real@?$_Complex_base@MU_C_float_complex@@@std@@QAEMABM@Z(ptr ptr) complex_float_real_set +@ cdecl -arch=win64 ?real@?$_Complex_base@MU_C_float_complex@@@std@@QEAAMAEBM@Z(ptr ptr) complex_float_real_set +@ thiscall -arch=win32 ?real@?$_Complex_base@MU_C_float_complex@@@std@@QBEMXZ(ptr) complex_float_real_get +@ cdecl -arch=win64 ?real@?$_Complex_base@MU_C_float_complex@@@std@@QEBAMXZ(ptr) complex_float_real_get +@ thiscall -arch=win32 ?real@?$_Complex_base@NU_C_double_complex@@@std@@QAENABN@Z(ptr ptr) complex_double_real_set +@ cdecl -arch=win64 ?real@?$_Complex_base@NU_C_double_complex@@@std@@QEAANAEBN@Z(ptr ptr) complex_double_real_set +@ thiscall -arch=win32 ?real@?$_Complex_base@NU_C_double_complex@@@std@@QBENXZ(ptr) complex_double_real_get +@ cdecl -arch=win64 ?real@?$_Complex_base@NU_C_double_complex@@@std@@QEBANXZ(ptr) complex_double_real_get +@ thiscall -arch=win32 ?real@?$_Complex_base@OU_C_ldouble_complex@@@std@@QAEOABO@Z(ptr ptr) complex_double_real_set +@ cdecl -arch=win64 ?real@?$_Complex_base@OU_C_ldouble_complex@@@std@@QEAAOAEBO@Z(ptr ptr) complex_double_real_set +@ thiscall -arch=win32 ?real@?$_Complex_base@OU_C_ldouble_complex@@@std@@QBEOXZ(ptr) complex_double_real_get +@ cdecl -arch=win64 ?real@?$_Complex_base@OU_C_ldouble_complex@@@std@@QEBAOXZ(ptr) complex_double_real_get @ thiscall -arch=win32 ?register_callback@ios_base@std@@QAEXP6AXW4event@12@AAV12@H@ZH@Z(ptr ptr long) ios_base_register_callback @ cdecl -arch=win64 ?register_callback@ios_base@std@@QEAAXP6AXW4event@12@AEAV12@H@ZH@Z(ptr ptr long) ios_base_register_callback @ thiscall -arch=win32 ?rend@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE?AV?$reverse_iterator@V?$_String_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@XZ(ptr ptr) MSVCP_basic_string_char_rend