Commit 690e3268 authored by Piotr Caban's avatar Piotr Caban Committed by Alexandre Julliard

msvcp90: Added std::log10(complex) tests.

parent 55aeaf3c
......@@ -114,6 +114,7 @@ static complex_float* (__cdecl *p_complex_float_div)(complex_float*, const compl
static float (__cdecl *p_complex_float__Fabs)(const complex_float*, int*);
static complex_float* (__cdecl *p_complex_float_tan)(complex_float*, const complex_float*);
static complex_float* (__cdecl *p_complex_float_tanh)(complex_float*, const complex_float*);
static complex_float* (__cdecl *p_complex_float_log10)(complex_float*, const complex_float*);
static int invalid_parameter = 0;
static void __cdecl test_invalid_parameter_handler(const wchar_t *expression,
......@@ -258,6 +259,8 @@ static BOOL init(void)
"??$tan@M@std@@YA?AV?$complex@M@0@AEBV10@@Z");
SET(p_complex_float_tanh,
"??$tanh@M@std@@YA?AV?$complex@M@0@AEBV10@@Z");
SET(p_complex_float_log10,
"??$log10@M@std@@YA?AV?$complex@M@0@AEBV10@@Z");
} else {
SET(p_char_assign, "?assign@?$char_traits@D@std@@SAXAADABD@Z");
SET(p_wchar_assign, "?assign@?$char_traits@_W@std@@SAXAA_WAB_W@Z");
......@@ -308,6 +311,8 @@ static BOOL init(void)
"??$tan@M@std@@YA?AV?$complex@M@0@ABV10@@Z");
SET(p_complex_float_tanh,
"??$tanh@M@std@@YA?AV?$complex@M@0@ABV10@@Z");
SET(p_complex_float_log10,
"??$log10@M@std@@YA?AV?$complex@M@0@ABV10@@Z");
}
init_thiscall_thunk();
......@@ -724,6 +729,9 @@ static void test_complex(void)
p_complex_float_tanh(&c2, &c1);
ok(c2.real == 0, "c2.real = %f\n", c2.real);
ok(c2.imag == 0, "c2.imag = %f\n", c2.imag);
p_complex_float_log10(&c2, &c1);
ok(c2.real < -FLT_MAX /* c2.real == -inf */, "c2.real = %f\n", c2.real);
ok(c2.imag == 0, "c2.imag = %g\n", c2.imag);
c1.real = 3.14159/2;
c1.imag = 0;
......@@ -733,6 +741,9 @@ static void test_complex(void)
p_complex_float_tanh(&c2, &c1);
ok(almost_eq(c2.real, 0.917152), "c2.real = %f\n", c2.real);
ok(c2.imag == 0, "c2.imag = %f\n", c2.imag);
p_complex_float_log10(&c2, &c1);
ok(almost_eq(c2.real, 0.196120), "c2.real = %f\n", c2.real);
ok(c2.imag == 0, "c2.imag = %g\n", c2.imag);
c1.real = 7.12;
c1.imag = 0.17;
......@@ -742,6 +753,9 @@ static void test_complex(void)
p_complex_float_tanh(&c2, &c1);
ok(almost_eq(c2.real, 0.999999), "c2.real = %f\n", c2.real);
ok(almost_eq(c2.imag, 4.3627e-7), "c2.imag = %g\n", c2.imag);
p_complex_float_log10(&c2, &c1);
ok(almost_eq(c2.real, 0.852604), "c2.real = %f\n", c2.real);
ok(almost_eq(c2.imag, 0.0103674), "c2.imag = %g\n", c2.imag);
c1.real = 0.14;
c1.imag = 0.19;
......@@ -751,6 +765,9 @@ static void test_complex(void)
p_complex_float_tanh(&c2, &c1);
ok(almost_eq(c2.real, 0.144134), "c2.real = %f\n", c2.real);
ok(almost_eq(c2.imag, 0.188464), "c2.imag = %f\n", c2.imag);
p_complex_float_log10(&c2, &c1);
ok(almost_eq(c2.real, -0.627072), "c2.real = %f\n", c2.real);
ok(almost_eq(c2.imag, 0.4064), "c2.imag = %g\n", c2.imag);
}
START_TEST(misc)
......
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