90 for (
i = 0;
i < 4; ++
i)
92 for (
j = 0;
j < 4; ++
j)
102#define expect_vec2(expected, vector, ulps) expect_vec2_(__LINE__, expected, vector, ulps)
107 "Got unexpected vector {%.8e, %.8e}, expected {%.8e, %.8e}.\n",
111#define expect_vec3(expected, vector, ulps) expect_vec3_(__LINE__, expected, vector, ulps)
116 "Got unexpected vector {%.8e, %.8e, %.8e}, expected {%.8e, %.8e, %.8e}.\n",
120#define expect_vec4(expected, vector, ulps) expect_vec4_(__LINE__, expected, vector, ulps)
125 "Got unexpected vector {%.8e, %.8e, %.8e, %.8e}, expected {%.8e, %.8e, %.8e, %.8e}.\n",
129#define expect_color(expected, color, ulps) expect_color_(__LINE__, expected, color, ulps)
134 "Got unexpected color {%.8e, %.8e, %.8e, %.8e}, expected {%.8e, %.8e, %.8e, %.8e}.\n",
138#define expect_plane(expected, plane, ulps) expect_plane_(__LINE__, expected, plane, ulps)
143 "Got unexpected plane {%.8e, %.8e, %.8e, %.8e}, expected {%.8e, %.8e, %.8e, %.8e}.\n",
147#define expect_quaternion(expected, quaternion, ulps) expect_quaternion_(__LINE__, expected, quaternion, ulps)
153 "Got unexpected quaternion {%.8e, %.8e, %.8e, %.8e}, expected {%.8e, %.8e, %.8e, %.8e}.\n",
154 quaternion->
x, quaternion->
y, quaternion->
z, quaternion->
w,
158#define expect_matrix(expected, matrix, ulps) expect_matrix_(__LINE__, expected, matrix, ulps)
163 "Got unexpected matrix {%.8e, %.8e, %.8e, %.8e, %.8e, %.8e, %.8e, %.8e, "
164 "%.8e, %.8e, %.8e, %.8e, %.8e, %.8e, %.8e, %.8e}, "
165 "expected {%.8e, %.8e, %.8e, %.8e, %.8e, %.8e, %.8e, %.8e, "
166 "%.8e, %.8e, %.8e, %.8e, %.8e, %.8e, %.8e, %.8e}.\n",
167 U(*matrix).m[0][0],
U(*matrix).m[0][1],
U(*matrix).m[0][2],
U(*matrix).m[0][3],
168 U(*matrix).m[1][0],
U(*matrix).m[1][1],
U(*matrix).m[1][2],
U(*matrix).m[1][3],
169 U(*matrix).m[2][0],
U(*matrix).m[2][1],
U(*matrix).m[2][2],
U(*matrix).m[2][3],
170 U(*matrix).m[3][0],
U(*matrix).m[3][1],
U(*matrix).m[3][2],
U(*matrix).m[3][3],
171 U(*expected).m[0][0],
U(*expected).m[0][1],
U(*expected).m[0][2],
U(*expected).m[0][3],
172 U(*expected).m[1][0],
U(*expected).m[1][1],
U(*expected).m[1][2],
U(*expected).m[1][3],
173 U(*expected).m[2][0],
U(*expected).m[2][1],
U(*expected).m[2][2],
U(*expected).m[2][3],
174 U(*expected).m[3][0],
U(*expected).m[3][1],
U(*expected).m[3][2],
U(*expected).m[3][3]);
177#define expect_vec4_array(count, expected, vector, ulps) expect_vec4_array_(__LINE__, count, expected, vector, ulps)
188 "Got unexpected vector {%.8e, %.8e, %.8e, %.8e} at index %u, expected {%.8e, %.8e, %.8e, %.8e}.\n",
197 float m00,
float m01,
float m02,
float m03,
198 float m10,
float m11,
float m12,
float m13,
199 float m20,
float m21,
float m22,
float m23,
200 float m30,
float m31,
float m32,
float m33)
202 U(
mat)->m[0][0] = m00;
U(
mat)->m[0][1] = m01;
U(
mat)->m[0][2] = m02;
U(
mat)->m[0][3] = m03;
215 color1.
r = 0.6f; color1.
g = 0.55f; color1.
b = 0.23f; color1.
a = 0.82f;
216 color2.
r = 0.3f; color2.
g = 0.5f; color2.
b = 0.76f; color2.
a = 0.11f;
222 D3DXColorAdd(&got,&color1,&color2);
225 funcpointer = D3DXColorAdd(&got,
NULL,&color2);
226 ok(funcpointer ==
NULL,
"Expected: %p, Got: %p\n",
NULL, funcpointer);
227 funcpointer = D3DXColorAdd(
NULL,
NULL,&color2);
228 ok(funcpointer ==
NULL,
"Expected: %p, Got: %p\n",
NULL, funcpointer);
230 ok(funcpointer ==
NULL,
"Expected: %p, Got: %p\n",
NULL, funcpointer);
247 funcpointer = D3DXColorLerp(&got,
NULL,&color1,
scale);
248 ok(funcpointer ==
NULL,
"Expected: %p, Got: %p\n",
NULL, funcpointer);
250 ok(funcpointer ==
NULL,
"Expected: %p, Got: %p\n",
NULL, funcpointer);
252 ok(funcpointer ==
NULL,
"Expected: %p, Got: %p\n",
NULL, funcpointer);
256 D3DXColorModulate(&got,&color1,&color2);
259 funcpointer = D3DXColorModulate(&got,
NULL,&color2);
260 ok(funcpointer ==
NULL,
"Expected: %p, Got: %p\n",
NULL, funcpointer);
261 funcpointer = D3DXColorModulate(
NULL,
NULL,&color2);
262 ok(funcpointer ==
NULL,
"Expected: %p, Got: %p\n",
NULL, funcpointer);
264 ok(funcpointer ==
NULL,
"Expected: %p, Got: %p\n",
NULL, funcpointer);
268 D3DXColorNegative(&got,&
color);
271 color1.
r = 0.2f; color1.
g = 1.75f; color1.
b = 0.41f; color1.
a = 0.93f;
273 D3DXColorNegative(&got,&color1);
276 color1.
r = 0.2f; color1.
g = -0.75f; color1.
b = 0.41f; color1.
a = 0.93f;
278 D3DXColorNegative(&got,&color1);
281 funcpointer = D3DXColorNegative(&got,
NULL);
282 ok(funcpointer ==
NULL,
"Expected: %p, Got: %p\n",
NULL, funcpointer);
283 funcpointer = D3DXColorNegative(
NULL,
NULL);
284 ok(funcpointer ==
NULL,
"Expected: %p, Got: %p\n",
NULL, funcpointer);
291 funcpointer = D3DXColorScale(&got,
NULL,
scale);
292 ok(funcpointer ==
NULL,
"Expected: %p, Got: %p\n",
NULL, funcpointer);
294 ok(funcpointer ==
NULL,
"Expected: %p, Got: %p\n",
NULL, funcpointer);
298 D3DXColorSubtract(&got,&
color,&color2);
301 funcpointer = D3DXColorSubtract(&got,
NULL,&color2);
302 ok(funcpointer ==
NULL,
"Expected: %p, Got: %p\n",
NULL, funcpointer);
303 funcpointer = D3DXColorSubtract(
NULL,
NULL,&color2);
304 ok(funcpointer ==
NULL,
"Expected: %p, Got: %p\n",
NULL, funcpointer);
306 ok(funcpointer ==
NULL,
"Expected: %p, Got: %p\n",
NULL, funcpointer);
316 ok(
equal,
"Got unexpected Fresnel term %.8e.\n", fresnel);
323 float angle, determinant;
330 U(
mat).m[0][1] = 5.0f;
U(
mat).m[0][2] = 7.0f;
U(
mat).m[0][3] = 8.0f;
331 U(
mat).m[1][0] = 11.0f;
U(
mat).m[1][2] = 16.0f;
U(
mat).m[1][3] = 33.0f;
332 U(
mat).m[2][0] = 19.0f;
U(
mat).m[2][1] = -21.0f;
U(
mat).m[2][3] = 43.0f;
333 U(
mat).m[3][0] = 2.0f;
U(
mat).m[3][1] = 3.0f;
U(
mat).m[3][2] = -4.0f;
334 U(
mat).m[0][0] = 10.0f;
U(
mat).m[1][1] = 20.0f;
U(
mat).m[2][2] = 30.0f;
335 U(
mat).m[3][3] = -40.0f;
337 U(mat2).m[0][0] = 1.0f;
U(mat2).m[1][0] = 2.0f;
U(mat2).m[2][0] = 3.0f;
338 U(mat2).m[3][0] = 4.0f;
U(mat2).m[0][1] = 5.0f;
U(mat2).m[1][1] = 6.0f;
339 U(mat2).m[2][1] = 7.0f;
U(mat2).m[3][1] = 8.0f;
U(mat2).m[0][2] = -8.0f;
340 U(mat2).m[1][2] = -7.0f;
U(mat2).m[2][2] = -6.0f;
U(mat2).m[3][2] = -5.0f;
341 U(mat2).m[0][3] = -4.0f;
U(mat2).m[1][3] = -3.0f;
U(mat2).m[2][3] = -2.0f;
342 U(mat2).m[3][3] = -1.0f;
346 q.x = 1.0f;
q.y = -4.0f;
q.z =7.0f;
q.w = -11.0f;
347 r.x = 0.87f;
r.y = 0.65f;
r.z =0.43f;
r.w= 0.21f;
349 at.
x = -2.0f; at.
y = 13.0f; at.
z = -9.0f;
350 axis.
x = 1.0f; axis.
y = -3.0f; axis.
z = 7.0f;
351 eye.
x = 8.0f; eye.
y = -5.0f; eye.
z = 5.75f;
360 -459.239990f, -576.719971f, -263.440002f, 0.0f,
361 519.760010f, -352.440002f, -277.679993f, 0.0f,
362 363.119995f, -121.040001f, -117.479996f, 0.0f,
363 -1239.0f, 667.0f, 567.0f, 1.0f);
368 U(expectedmat).m[3][0] = 1.0f;
U(expectedmat).m[3][1] = -3.0f;
U(expectedmat).m[3][2] = 7.0f;
U(expectedmat).m[3][3] = 1.0f;
372 U(expectedmat).m[3][0] = -1240.0f;
U(expectedmat).m[3][1] = 670.0f;
U(expectedmat).m[3][2] = 560.0f;
U(expectedmat).m[3][3] = 1.0f;
376 U(expectedmat).m[3][0] = 0.0f;
U(expectedmat).m[3][1] = 0.0f;
U(expectedmat).m[3][2] = 0.0f;
U(expectedmat).m[3][3] = 1.0f;
381 3.56f, 0.0f, 0.0f, 0.0f,
382 0.0f, 3.56f, 0.0f, 0.0f,
383 0.0f, 0.0f, 3.56f, 0.0f,
384 1.0f, -3.0f, 7.0f, 1.0f);
391 U(expectedmat).m[3][0] = 0.0f;
U(expectedmat).m[3][1] = 0.0f;
U(expectedmat).m[3][2] = 0.0f;
U(expectedmat).m[3][3] = 1.0f;
401 ok(
equal,
"Got unexpected determinant %.8e.\n", determinant);
405 16067.0f/73944.0f, -10165.0f/147888.0f, -2729.0f/147888.0f, -1631.0f/49296.0f,
406 -565.0f/36972.0f, 2723.0f/73944.0f, -1073.0f/73944.0f, 289.0f/24648.0f,
407 -389.0f/2054.0f, 337.0f/4108.0f, 181.0f/4108.0f, 317.0f/4108.0f,
408 163.0f/5688.0f, -101.0f/11376.0f, -73.0f/11376.0f, -127.0f/3792.0f);
412 ok(
equal,
"Got unexpected determinant %.8e.\n", determinant);
415 ok(!
ret,
"Unexpected return value %p.\n",
ret);
418 "Unexpected determinant %.8e.\n", determinant);
422 memset(&mat3, 0,
sizeof(mat3));
423 got = D3DXMatrixIsIdentity(&mat3);
425 D3DXMatrixIdentity(&mat3);
427 got = D3DXMatrixIsIdentity(&mat3);
429 U(mat3).m[0][0] = 0.000009f;
431 got = D3DXMatrixIsIdentity(&mat3);
435 got = D3DXMatrixIsIdentity(
NULL);
440 -0.82246518f, -0.40948939f, -0.39480308f, 0.0f,
441 -0.55585691f, 0.43128574f, 0.71064550f, 0.0f,
442 -0.12072885f, 0.80393475f, -0.58233452f, 0.0f,
443 4.4946337f, 0.80971903f, 10.060076f, 1.0f);
449 0.82246518f, -0.40948939f, 0.39480308f, 0.0f,
450 0.55585691f, 0.43128574f, -0.71064550f, 0.0f,
451 0.12072885f, 0.80393475f, 0.58233452f, 0.0f,
452 -4.4946337f, 0.80971903f, -10.060076f, 1.0f);
458 73.0f, 193.0f, -197.0f, -77.0f,
459 231.0f, 551.0f, -489.0f, -169.0f,
460 239.0f, 523.0f, -400.0f, -116.0f,
461 -164.0f, -320.0f, 187.0f, 31.0f);
467 73.0f, 231.0f, 239.0f, -164.0f,
468 193.0f, 551.0f, 523.0f, -320.0f,
469 -197.0f, -489.0f, -400.0f, 187.0f,
470 -77.0f, -169.0f, -116.0f, 31.0f);
476 0.8f, 0.0f, 0.0f, 0.0f,
477 0.0f, 0.27027027f, 0.0f, 0.0f,
478 0.0f, 0.0f, -0.15151515f, 0.0f,
479 0.0f, 0.0f, -0.48484848f, 1.0f);
485 3.6363636f, 0.0f, 0.0f, 0.0f,
486 0.0f, 0.18018018f, 0.0f, 0.0f,
487 0.0f, 0.0f, -0.045662100f, 0.0f,
488 -1.7272727f, -0.56756757f, 0.42465753f, 1.0f);
494 3.6363636f, 0.0f, 0.0f, 0.0f,
495 0.0f, 0.18018018f, 0.0f, 0.0f,
496 0.0f, 0.0f, 0.045662100f, 0.0f,
497 -1.7272727f, -0.56756757f, 0.42465753f, 1.0f);
503 0.8f, 0.0f, 0.0f, 0.0f,
504 0.0f, 0.27027027f, 0.0f, 0.0f,
505 0.0f, 0.0f, 0.15151515f, 0.0f,
506 0.0f, 0.0f, -0.48484848f, 1.0f);
512 13.288858f, 0.0f, 0.0f, 0.0f,
513 0.0f, 9.9666444f, 0.0f, 0.0f,
514 0.0f, 0.0f, 0.78378378f, 1.0f,
515 0.0f, 0.0f, 1.8810811f, 0.0f);
521 13.288858f, 0.0f, 0.0f, 0.0f,
522 0.0f, 9.9666444f, 0.0f, 0.0f,
523 0.0f, 0.0f, -0.78378378f, -1.0f,
524 0.0f, 0.0f, 1.8810811f, 0.0f);
530 -24.0f, 0.0f, 0.0f, 0.0f,
531 0.0f, -6.4f, 0.0f, 0.0f,
532 0.0f, 0.0f, 0.78378378f, 1.0f,
533 0.0f, 0.0f, 1.8810811f, 0.0f);
539 11.636364f, 0.0f, 0.0f, 0.0f,
540 0.0f, 0.57657658f, 0.0f, 0.0f,
541 -1.7272727f, -0.56756757f, 0.84079602f, 1.0f,
542 0.0f, 0.0f, -2.6905473f, 0.0f);
548 11.636364f, 0.0f, 0.0f, 0.0f,
549 0.0f, 0.57657658f, 0.0f, 0.0f,
550 1.7272727f, 0.56756757f, -0.84079602f, -1.0f,
551 0.0f, 0.0f, -2.6905473f, 0.0f);
557 -24.0f, -0.0f, 0.0f, 0.0f,
558 0.0f, -6.4f, 0.0f, 0.0f,
559 0.0f, 0.0f, -0.78378378f, -1.0f,
560 0.0f, 0.0f, 1.8810811f, 0.0f);
566 0.30769235f, -0.23076922f, 0.92307687f, 0.0f,
567 -0.23076922, 0.92307693f, 0.30769232f, 0.0f,
568 0.92307687f, 0.30769232f, -0.23076922f, 0.0f,
569 1.6153846f, 0.53846157f, -2.1538463f, 1.0f);
575 0.50847453f, 0.76380461f, 0.39756277f, 0.0f,
576 -0.81465209f, 0.57627118f, -0.065219201f, 0.0f,
577 -0.27891868f, -0.29071301f, 0.91525424f, 0.0f,
578 0.0f, 0.0f, 0.0f, 1.0f);
584 -129.0f, -162.0f, -74.0f, 0.0f,
585 146.0f, -99.0f, -78.0f, 0.0f,
586 102.0f, -34.0f, -33.0f, 0.0f,
587 0.0f, 0.0f, 0.0f, 1.0f);
593 1.0f, 0.0f, 0.0f, 0.0f,
594 0.0f, 0.5f,
sqrt(3.0f)/2.0f, 0.0f,
595 0.0f, -
sqrt(3.0f)/2.0f, 0.5f, 0.0f,
596 0.0f, 0.0f, 0.0f, 1.0f);
602 0.5f, 0.0f, -
sqrt(3.0f)/2.0f, 0.0f,
603 0.0f, 1.0f, 0.0f, 0.0f,
604 sqrt(3.0f)/2.0f, 0.0f, 0.5f, 0.0f,
605 0.0f, 0.0f, 0.0f, 1.0f);
611 0.88877726f, 0.091874748f, -0.44903678f, 0.0f,
612 0.35171318f, 0.49148652f, 0.79670501f, 0.0f,
613 0.29389259f, -0.86602545f, 0.40450847f, 0.0f,
614 0.0f, 0.0f, 0.0f, 1.0f);
620 0.5f,
sqrt(3.0f)/2.0f, 0.0f, 0.0f,
621 -
sqrt(3.0f)/2.0f, 0.5f, 0.0f, 0.0f,
622 0.0f, 0.0f, 1.0f, 0.0f,
623 0.0f, 0.0f, 0.0f, 1.0f);
629 0.69f, 0.0f, 0.0f, 0.0f,
630 0.0f, 0.53f, 0.0f, 0.0f,
631 0.0f, 0.0f, 4.11f, 0.0f,
632 0.0f, 0.0f, 0.0f, 1.0f);
638 12.786773f, 5.0009613f, 4.3537784f, 3.7065949f,
639 1.8827150f, 8.8056154f, 1.4512594f, 1.2355317f,
640 -7.5308599f, -6.6679487f, 1.3335901f, -4.9421268f,
641 -13.179006f, -11.668910f, -10.158816f, -1.5100943f);
647 1.0f, 0.0f, 0.0f, 0.0f,
648 0.0f, 1.0f, 0.0f, 0.0f,
649 0.0f, 0.0f, 1.0f, 0.0f,
650 0.0f, 0.0f, 0.0f, 1.0f);
655 1.0f, 0.0f, 0.0f, 0.0f,
656 0.0f, 1.0f, 0.0f, 0.0f,
657 0.0f, 0.0f, 1.0f, 0.0f,
658 9.7f, -8.6f, 1.3f, 1.0f);
663 -0.2148f, 1.3116f, 0.4752f, 0.0f,
664 0.9504f, -0.8836f, 0.9244f, 0.0f,
665 1.0212f, 0.1936f, -1.3588f, 0.0f,
666 0.0f, 0.0f, 0.0f, 1.0f);
671 1.0f, 0.0f, 0.0f, 0.0f,
672 0.0f, 1.0f, 0.0f, 0.0f,
673 0.0f, 0.0f, 1.0f, 0.0f,
674 0.0f, 0.0f, 0.0f, 1.0f);
679 1.0f, 0.0f, 0.0f, 0.0f,
680 0.0f, -3.0f, 0.0f, 0.0f,
681 0.0f, 0.0f, 7.0f, 0.0f,
682 0.0f, 0.0f, 0.0f, 1.0f);
687 1.0f, 0.0f, 0.0f, 0.0f,
688 0.0f, 1.0f, 0.0f, 0.0f,
689 0.0f, 0.0f, 1.0f, 0.0f,
690 0.0f, 0.0f, 0.0f, 1.0f);
695 1.0f, 0.0f, 0.0f, 0.0f,
696 0.0f, 1.0f, 0.0f, 0.0f,
697 0.0f, 0.0f, 1.0f, 0.0f,
698 0.0f, 0.0f, 0.0f, 1.0f);
703 -0.2148f, 1.3116f, 0.4752f, 0.0f,
704 0.9504f, -0.8836f, 0.9244f, 0.0f,
705 1.0212f, 0.1936f, -1.3588f, 0.0f,
706 9.7f, -8.6f, 1.3f, 1.0f);
711 1.0f, 0.0f, 0.0f, 0.0f,
712 0.0f, 1.0f, 0.0f, 0.0f,
713 0.0f, 0.0f, 1.0f, 0.0f,
714 9.7f, -8.6f, 1.3f, 1.0f);
719 1.0f, 0.0f, 0.0f, 0.0f,
720 0.0f, -3.0f, 0.0f, 0.0f,
721 0.0f, 0.0f, 7.0f, 0.0f,
722 9.7f, -8.6f, 1.3f, 1.0f);
727 1.0f, 0.0f, 0.0f, 0.0f,
728 0.0f, 1.0f, 0.0f, 0.0f,
729 0.0f, 0.0f, 1.0f, 0.0f,
730 9.7f, -8.6f, 1.3f, 1.0f);
735 1.0f, 0.0f, 0.0f, 0.0f,
736 0.0f, 1.0f, 0.0f, 0.0f,
737 0.0f, 0.0f, 1.0f, 0.0f,
738 9.7f, -8.6f, 1.3f, 1.0f);
743 -0.2148f, 1.3116f, 0.4752f, 0.0f,
744 0.9504f, -0.8836f, 0.9244f, 0.0f,
745 1.0212f, 0.1936f, -1.3588f, 0.0f,
746 8.5985f, -21.024f, 14.383499, 1.0f);
751 -0.2148f, 1.3116f, 0.4752f, 0.0f,
752 -2.8512f, 2.6508f, -2.7732f, 0.0f,
753 7.148399f, 1.3552f, -9.5116f, 0.0f,
754 0.0f, 0.0f, 0.0f, 1.0f);
759 -0.2148f, 1.3116f, 0.4752f, 0.0f,
760 0.9504f, -0.8836f, 0.9244f, 0.0f,
761 1.0212f, 0.1936f, -1.3588f, 0.0f,
762 0.0f, 0.0f, 0.0f, 1.0f);
767 -0.2148f, 1.3116f, 0.4752f, 0.0f,
768 0.9504f, -0.8836f, 0.9244f, 0.0f,
769 1.0212f, 0.1936f, -1.3588f, 0.0f,
770 0.0f, 0.0f, 0.0f, 1.0f);
775 1.0f, 0.0f, 0.0f, 0.0f,
776 0.0f, -3.0f, 0.0f, 0.0f,
777 0.0f, 0.0f, 7.0f, 0.0f,
778 0.0f, 0.0f, 0.0f, 1.0f);
783 1.0f, 0.0f, 0.0f, 0.0f,
784 0.0f, 1.0f, 0.0f, 0.0f,
785 0.0f, 0.0f, 1.0f, 0.0f,
786 0.0f, 0.0f, 0.0f, 1.0f);
791 1.0f, 0.0f, 0.0f, 0.0f,
792 0.0f, 1.0f, 0.0f, 0.0f,
793 0.0f, 0.0f, 1.0f, 0.0f,
794 0.0f, 0.0f, 0.0f, 1.0f);
799 25521.0f, 39984.0f, 20148.0f, 0.0f,
800 39984.0f, 4933.0f, -3324.0f, 0.0f,
801 20148.0f, -3324.0f, -5153.0f, 0.0f,
802 0.0f, 0.0f, 0.0f, 1.0f);
807 1.0f, 0.0f, 0.0f, 0.0f,
808 0.0f, -3.0f, 0.0f, 0.0f,
809 0.0f, 0.0f, 7.0f, 0.0f,
810 0.0f, 52.0f, 54.0f, 1.0f);
815 1.0f, 0.0f, 0.0f, 0.0f,
816 0.0f, 1.0f, 0.0f, 0.0f,
817 0.0f, 0.0f, 1.0f, 0.0f,
818 0.0f, 0.0f, 0.0f, 1.0f);
823 -0.2148f, 1.3116f, 0.4752f, 0.0f,
824 0.9504f, -0.8836f, 0.9244f, 0.0f,
825 1.0212f, 0.1936f, -1.3588f, 0.0f,
826 18.2985f, -29.624001f, 15.683499f, 1.0f);
831 -0.2148f, 1.3116f, 0.4752f, 0.0f,
832 -2.8512f, 2.6508f, -2.7732f, 0.0f,
833 7.148399f, 1.3552f, -9.5116f, 0.0f,
834 9.7f, -8.6f, 1.3f, 1.0f);
839 -0.2148f, 1.3116f, 0.4752f, 0.0f,
840 0.9504f, -0.8836f, 0.9244f, 0.0f,
841 1.0212f, 0.1936f, -1.3588f, 0.0f,
842 9.7f, -8.6f, 1.3f, 1.0f);
847 -0.2148f, 1.3116f, 0.4752f, 0.0f,
848 0.9504f, -0.8836f, 0.9244f, 0.0f,
849 1.0212f, 0.1936f, -1.3588f, 0.0f,
850 9.7f, -8.6f, 1.3f, 1.0f);
855 1.0f, 0.0f, 0.0f, 0.0f,
856 0.0f, -3.0f, 0.0f, 0.0f,
857 0.0f, 0.0f, 7.0f, 0.0f,
858 9.7f, -8.6f, 1.3f, 1.0f);
863 1.0f, 0.0f, 0.0f, 0.0f,
864 0.0f, 1.0f, 0.0f, 0.0f,
865 0.0f, 0.0f, 1.0f, 0.0f,
866 9.7f, -8.6f, 1.3f, 1.0f);
871 1.0f, 0.0f, 0.0f, 0.0f,
872 0.0f, 1.0f, 0.0f, 0.0f,
873 0.0f, 0.0f, 1.0f, 0.0f,
874 9.7f, -8.6f, 1.3f, 1.0f);
879 25521.0f, 39984.0f, 20148.0f, 0.0f,
880 39984.0f, 4933.0f, -3324.0f, 0.0f,
881 20148.0f, -3324.0f, -5153.0f, 0.0f,
882 9.7f, -8.6f, 1.3f, 1.0f);
887 1.0f, 0.0f, 0.0f, 0.0f,
888 0.0f, -3.0f, 0.0f, 0.0f,
889 0.0f, 0.0f, 7.0f, 0.0f,
890 9.7f, 43.400002f, 55.299999f, 1.0f);
895 1.0f, 0.0f, 0.0f, 0.0f,
896 0.0f, 1.0f, 0.0f, 0.0f,
897 0.0f, 0.0f, 1.0f, 0.0f,
898 9.7f, -8.6f, 1.3f, 1.0f);
903 -0.2148f, 1.3116f, 0.4752f, 0.0f,
904 -2.8512f, 2.6508f, -2.7732f, 0.0f,
905 7.148399f, 1.3552f, -9.5116f, 0.0f,
906 8.5985f, -21.024f, 14.383499, 1.0f);
911 -0.2148f, 1.3116f, 0.4752f, 0.0f,
912 0.9504f, -0.8836f, 0.9244f, 0.0f,
913 1.0212f, 0.1936f, -1.3588f, 0.0f,
914 8.5985f, -21.024f, 14.383499, 1.0f);
919 -0.2148f, 1.3116f, 0.4752f, 0.0f,
920 0.9504f, -0.8836f, 0.9244f, 0.0f,
921 1.0212f, 0.1936f, -1.3588f, 0.0f,
922 8.5985f, -21.024f, 14.383499, 1.0f);
927 53094.015625f, 2044.133789f, 21711.687500f, 0.0f,
928 -7294.705078f, 47440.683594f, 28077.113281, 0.0f,
929 -12749.161133f, 28365.580078f, 13503.520508f, 0.0f,
930 0.0f, 0.0f, 0.0f, 1.0f);
935 -0.2148f, 1.3116f, 0.4752f, 0.0f,
936 -2.8512f, 2.6508f, -2.7732f, 0.0f,
937 7.148399f, 1.3552f, -9.5116f, 0.0f,
938 104.565598f, -35.492798f, -25.306400f, 1.0f);
943 -0.2148f, 1.3116f, 0.4752f, 0.0f,
944 0.9504f, -0.8836f, 0.9244f, 0.0f,
945 1.0212f, 0.1936f, -1.3588f, 0.0f,
946 0.0f, 0.0f, 0.0f, 1.0f);
951 25521.0f, 39984.0f, 20148.0f, 0.0f,
952 39984.0f, 4933.0f, -3324.0f, 0.0f,
953 20148.0f, -3324.0f, -5153.0f, 0.0f,
954 0.0f, 0.0f, 0.0f, 1.0f);
959 1.0f, 0.0f, 0.0f, 0.0f,
960 0.0f, -3.0f, 0.0f, 0.0f,
961 0.0f, 0.0f, 7.0f, 0.0f,
962 0.0f, 52.0f, 54.0f, 1.0f);
967 1.0f, 0.0f, 0.0f, 0.0f,
968 0.0f, 1.0f, 0.0f, 0.0f,
969 0.0f, 0.0f, 1.0f, 0.0f,
970 0.0f, 0.0f, 0.0f, 1.0f);
975 25521.0f, 39984.0f, 20148.0f, 0.0f,
976 39984.0f, 4933.0f, -3324.0f, 0.0f,
977 20148.0f, -3324.0f, -5153.0f, 0.0f,
978 -287420.0f, -14064.0f, 37122.0f, 1.0f);
983 -0.2148f, 1.3116f, 0.4752f, 0.0f,
984 -2.8512f, 2.6508f, -2.7732f, 0.0f,
985 7.148399f, 1.3552f, -9.5116f, 0.0f,
986 18.2985f, -29.624001f, 15.683499f, 1.0f);
991 -0.2148f, 1.3116f, 0.4752f, 0.0f,
992 0.9504f, -0.8836f, 0.9244f, 0.0f,
993 1.0212f, 0.1936f, -1.3588f, 0.0f,
994 18.2985f, -29.624001f, 15.683499f, 1.0f);
999 -0.2148f, 1.3116f, 0.4752f, 0.0f,
1000 0.9504f, -0.8836f, 0.9244f, 0.0f,
1001 1.0212f, 0.1936f, -1.3588f, 0.0f,
1002 18.2985f, -29.624001f, 15.683499f, 1.0f);
1007 53094.015625f, 2044.133789f, 21711.687500f, 0.0f,
1008 -7294.705078f, 47440.683594f, 28077.113281, 0.0f,
1009 -12749.161133f, 28365.580078f, 13503.520508f, 0.0f,
1010 9.7f, -8.6f, 1.3f, 1.0f);
1015 -0.2148f, 1.3116f, 0.4752f, 0.0f,
1016 -2.8512f, 2.6508f, -2.7732f, 0.0f,
1017 7.148399f, 1.3552f, -9.5116f, 0.0f,
1018 114.265594f, -44.092796f, -24.006401f, 1.0f);
1023 -0.2148f, 1.3116f, 0.4752f, 0.0f,
1024 0.9504f, -0.8836f, 0.9244f, 0.0f,
1025 1.0212f, 0.1936f, -1.3588f, 0.0f,
1026 9.7f, -8.6f, 1.3f, 1.0f);
1031 25521.0f, 39984.0f, 20148.0f, 0.0f,
1032 39984.0f, 4933.0f, -3324.0f, 0.0f,
1033 20148.0f, -3324.0f, -5153.0f, 0.0f,
1034 9.7f, -8.6f, 1.3f, 1.0f);
1039 1.0f, 0.0f, 0.0f, 0.0f,
1040 0.0f, -3.0f, 0.0f, 0.0f,
1041 0.0f, 0.0f, 7.0f, 0.0f,
1042 9.7f, 43.400002f, 55.299999f, 1.0f);
1047 1.0f, 0.0f, 0.0f, 0.0f,
1048 0.0f, 1.0f, 0.0f, 0.0f,
1049 0.0f, 0.0f, 1.0f, 0.0f,
1050 9.7f, -8.6f, 1.3f, 1.0f);
1055 25521.0f, 39984.0f, 20148.0f, 0.0f,
1056 39984.0f, 4933.0f, -3324.0f, 0.0f,
1057 20148.0f, -3324.0f, -5153.0f, 0.0f,
1058 -287410.3125f, -14072.599609f, 37123.300781f, 1.0f);
1063 53094.015625f, 2044.133789f, 21711.687500f, 0.0f,
1064 -7294.705078f, 47440.683594f, 28077.113281, 0.0f,
1065 -12749.161133f, 28365.580078f, 13503.520508f, 0.0f,
1066 8.598499f, -21.024f, 14.383499f, 1.0f);
1071 -0.2148f, 1.3116f, 0.4752f, 0.0f,
1072 -2.8512f, 2.6508f, -2.7732f, 0.0f,
1073 7.148399f, 1.3552f, -9.5116f, 0.0f,
1074 113.164093f, -56.5168f, -10.922897f, 1.0f);
1079 -0.2148f, 1.3116f, 0.4752f, 0.0f,
1080 0.9504f, -0.8836f, 0.9244f, 0.0f,
1081 1.0212f, 0.1936f, -1.3588f, 0.0f,
1082 8.5985f, -21.024f, 14.383499, 1.0f);
1087 53094.015625f, 2044.133789f, 21711.687500f, 0.0f,
1088 -7294.705078f, 47440.683594f, 28077.113281, 0.0f,
1089 -12749.161133f, 28365.580078f, 13503.520508f, 0.0f,
1090 86280.34375f, -357366.3125f, -200024.125f, 1.0f);
1095 25521.0f, 39984.0f, 20148.0f, 0.0f,
1096 39984.0f, 4933.0f, -3324.0f, 0.0f,
1097 20148.0f, -3324.0f, -5153.0f, 0.0f,
1098 -287410.3125f, -14064.0f, 37122.0f, 1.0f);
1103 53094.015625f, 2044.133789f, 21711.687500f, 0.0f,
1104 -7294.705078f, 47440.683594f, 28077.113281, 0.0f,
1105 -12749.161133f, 28365.580078f, 13503.520508f, 0.0f,
1106 86280.34375f, -357366.3125f, -200009.75f, 1.0f);
1111 25521.0f, 39984.0f, 20148.0f, 0.0f,
1112 39984.0f, 4933.0f, -3324.0f, 0.0f,
1113 20148.0f, -3324.0f, -5153.0f, 0.0f,
1114 -287410.3125f, -14072.599609f, 37123.300781f, 1.0f);
1119 53094.015625f, 2044.133789f, 21711.687500f, 0.0f,
1120 -7294.705078f, 47440.683594f, 28077.113281, 0.0f,
1121 -12749.161133f, 28365.580078f, 13503.520508f, 0.0f,
1122 86290.046875f, -357374.90625f, -200022.828125f, 1.0f);
1127 -0.21480007f, 1.3116000f, 0.47520003f, 0.0f,
1128 0.95040143f, -0.88360137f, 0.92439979f, 0.0f,
1129 1.0212044f, 0.19359307f, -1.3588026f, 0.0f,
1130 18.298532f, -29.624001f, 15.683499f, 1.0f);
1135 -0.2148f, 1.3116f, 0.4752f, 0.0f,
1136 -2.8512f, 2.6508f, -2.7732f, 0.0f,
1137 7.148399f, 1.3552f, -9.5116f, 0.0f,
1138 122.86409f, -65.116798f, -9.622897f, 1.0f);
1143 53094.015625f, 2044.133789f, 21711.687500f, 0.0f,
1144 -7294.705078f, 47440.683594f, 28077.113281, 0.0f,
1145 -12749.161133f, 28365.580078f, 13503.520508f, 0.0f,
1146 18.2985f, -29.624001f, 15.683499f, 1.0f);
1150 q.x = 1.0f;
q.y = 1.0f;
q.z = 1.0f;
q.w = 1.0f;
1151 axis.
x = 1.0f; axis.
y = 1.0f; axis.
z = 2.0f;
1154 41.0f, -12.0f, -24.0f, 0.0f,
1155 -12.0f, 25.0f, -12.0f, 0.0f,
1156 -24.0f, -12.0f, 34.0f, 0.0f,
1157 0.0f, 0.0f, 0.0f, 1.0f);
1161 q.x = 1.0f;
q.y = 1.0f;
q.z = 1.0f;
q.w = 1.0f;
1162 axis.
x = 1.0f; axis.
y = 1.0f; axis.
z = 3.0f;
1165 57.0f, -12.0f, -36.0f, 0.0f,
1166 -12.0f, 25.0f, -12.0f, 0.0f,
1167 -36.0f, -12.0f, 43.0f, 0.0f,
1168 0.0f, 0.0f, 0.0f, 1.0f);
1172 q.x = 1.0f;
q.y = 1.0f;
q.z = 1.0f;
q.w = 0.0f;
1173 axis.
x = 1.0f; axis.
y = 1.0f; axis.
z = 3.0f;
1176 25.0f, 0.0f, -20.0f, 0.0f,
1177 0.0f, 25.0f, -20.0f, 0.0f,
1178 -20.0f, -20.0f, 35.0f, 0.0f,
1179 0.0f, 0.0f, 0.0f, 1.0f);
1183 q.x = 1.0f;
q.y = 1.0f;
q.z = 0.0f;
q.w = 0.0f;
1184 axis.
x = 1.0f; axis.
y = 1.0f; axis.
z = 3.0f;
1187 5.0f, -4.0f, 0.0f, 0.0f,
1188 -4.0f, 5.0f, 0.0f, 0.0f,
1189 0.0f, 0.0f, 27.0f, 0.0f,
1190 0.0f, 0.0f, 0.0f, 1.0f);
1194 q.x = 1.0f;
q.y = 0.0f;
q.z = 0.0f;
q.w = 0.0f;
1195 axis.
x = 5.0f; axis.
y = 2.0f; axis.
z = 1.0f;
1198 5.0f, 0.0f, 0.0f, 0.0f,
1199 0.0f, 2.0f, 0.0f, 0.0f,
1200 0.0f, 0.0f, 1.0f, 0.0f,
1201 0.0f, 0.0f, 0.0f, 1.0f);
1205 q.x = 1.0f;
q.y = 0.0f;
q.z = 0.0f;
q.w = 0.0f;
1206 axis.
x = 1.0f; axis.
y = 4.0f; axis.
z = 1.0f;
1209 1.0f, 0.0f, 0.0f, 0.0f,
1210 0.0f, 4.0f, 0.0f, 0.0f,
1211 0.0f, 0.0f, 1.0f, 0.0f,
1212 0.0f, 0.0f, 0.0f, 1.0f);
1216 q.x = 0.0f;
q.y = 1.0f;
q.z = 0.0f;
q.w = 0.0f;
1217 axis.
x = 1.0f; axis.
y = 4.0f; axis.
z = 1.0f;
1220 1.0f, 0.0f, 0.0f, 0.0f,
1221 0.0f, 4.0f, 0.0f, 0.0f,
1222 0.0f, 0.0f, 1.0f, 0.0f,
1223 0.0f, 0.0f, 0.0f, 1.0f);
1227 q.x = 1.0f;
q.y = 0.0f;
q.z = 0.0f;
q.w = 1.0f;
1228 axis.
x = 1.0f; axis.
y = 4.0f; axis.
z = 1.0f;
1231 1.0f, 0.0f, 0.0f, 0.0f,
1232 0.0f, 8.0f, -6.0f, 0.0f,
1233 0.0f, -6.0f, 17.0f, 0.0f,
1234 0.0f, 0.0f, 0.0f, 1.0f);
1238 q.x = 1.0f;
q.y = 0.0f;
q.z = 0.0f;
q.w = 1.0f;
1239 axis.
x = 0.0f; axis.
y = 4.0f; axis.
z = 0.0f;
1242 0.0f, 0.0f, 0.0f, 0.0f,
1243 0.0f, 4.0f, -8.0f, 0.0f,
1244 0.0f, -8.0f, 16.0f, 0.0f,
1245 0.0f, 0.0f, 0.0f, 1.0f);
1249 q.x = 0.0f;
q.y = 1.0f;
q.z = 0.0f;
q.w = 1.0f;
1250 axis.
x = 1.0f; axis.
y = 4.0f; axis.
z = 1.0f;
1253 5.0f, 0.0f, 0.0f, 0.0f,
1254 0.0f, 4.0f, 0.0f, 0.0f,
1255 0.0f, 0.0f, 5.0f, 0.0f,
1256 0.0f, 0.0f, 0.0f, 1.0f);
1260 q.x = 1.0f;
q.y = 0.0f;
q.z = 0.0f;
q.w = 0.0f;
1261 axis.
x = 1.0f; axis.
y = 1.0f; axis.
z = 3.0f;
1264 1.0f, 0.0f, 0.0f, 0.0f,
1265 0.0f, 1.0f, 0.0f, 0.0f,
1266 0.0f, 0.0f, 3.0f, 0.0f,
1267 0.0f, 0.0f, 0.0f, 1.0f);
1271 q.x = 11.0f;
q.y = 13.0f;
q.z = 15.0f;
q.w = 17.0f;
1272 axis.
x = 3.0f; axis.
y = 3.0f; axis.
z = 3.0f;
1275 3796587.0f, -1377948.0f, -1589940.0f, 0.0f,
1276 -1377948.0f, 3334059.0f, -1879020.0f, 0.0f,
1277 -1589940.0f, -1879020.0f, 2794443.0f, 0.0f,
1278 0.0f, 0.0f, 0.0f, 1.0f);
1282 q.x = 11.0f;
q.y = 13.0f;
q.z = 15.0f;
q.w = 17.0f;
1283 axis.
x = 1.0f; axis.
y = 1.0f; axis.
z = 1.0f;
1286 1265529.0f, -459316.0f, -529980.0f, 0.0f,
1287 -459316.0f, 1111353.0f, -626340.0f, 0.0f,
1288 -529980.0f, -626340.0f, 931481.0f, 0.0f,
1289 0.0f, 0.0f, 0.0f, 1.0f);
1293 q.x = 11.0f;
q.y = 13.0f;
q.z = 15.0f;
q.w = 17.0f;
1294 axis.
x = 1.0f; axis.
y = 1.0f; axis.
z = 3.0f;
1297 2457497.0f, -434612.0f, -1423956.0f, 0.0f,
1298 -434612.0f, 1111865.0f, -644868.0f, 0.0f,
1299 -1423956.0f, -644868.0f, 1601963.0f, 0.0f,
1300 0.0f, 0.0f, 0.0f, 1.0f);
1304 q.x = 11.0f;
q.y = 13.0f;
q.z = 15.0f;
q.w = 17.0f;
1305 axis.
x = 0.0f; axis.
y = 0.0f; axis.
z = 3.0f;
1308 1787952.0f, 37056.0f, -1340964.0f, 0.0f,
1309 37056.0f, 768.0f, -27792.0f, 0.0f,
1310 -1340964.0f, -27792.0f, 1005723.0f, 0.0f,
1311 0.0f, 0.0f, 0.0f, 1.0f);
1315 q.x = 11.0f;
q.y = 13.0f;
q.z = 15.0f;
q.w = 17.0f;
1316 axis.
x = 0.0f; axis.
y = 0.0f; axis.
z = 1.0f;
1319 595984.0f, 12352.0f, -446988.0f, 0.0f,
1320 12352.0f, 256.0f, -9264.0f, 0.0f,
1321 -446988.0f, -9264.0f, 335241.0f, 0.0f,
1322 0.0f, 0.0f, 0.0f, 1.0f);
1326 q.x = 11.0f;
q.y = 13.0f;
q.z = 15.0f;
q.w = 17.0f;
1327 axis.
x = 0.0f; axis.
y = 3.0f; axis.
z = 0.0f;
1330 150528.0f, 464352.0f, -513408.0f, 0.0f,
1331 464352.0f, 1432443.0f, -1583772.0f, 0.0f,
1332 -513408.0f, -1583772.0f, 1751088.0f, 0.0f,
1333 0.0f, 0.0f, 0.0f, 1.0f);
1337 q.x = 11.0f;
q.y = 13.0f;
q.z = 15.0f;
q.w = 17.0f;
1338 axis.
x = 0.0f; axis.
y = 1.0f; axis.
z = 0.0f;
1341 50176.0f, 154784.0f, -171136.0f, 0.0f,
1342 154784.0f, 477481.0f, -527924.0f, 0.0f,
1343 -171136.0f, -527924.0f, 583696.0f, 0.0f,
1344 0.0f, 0.0f, 0.0f, 1.0f);
1348 q.x = 11.0f;
q.y = 13.0f;
q.z = 15.0f;
q.w = 17.0f;
1349 axis.
x = 1.0f; axis.
y = 0.0f; axis.
z = 0.0f;
1352 619369.0f, -626452.0f, 88144.0f, 0.0f,
1353 -626452.0f, 633616.0f, -89152.0f, 0.0f,
1354 88144.0f, -89152, 12544.0f, 0.0f,
1355 0.0f, 0.0f, 0.0f, 1.0f);
1361 1.0f, 0.0f, 0.0f, 0.0f,
1362 0.0f, 1.0f, 0.0f, 0.0f,
1363 0.0f, 0.0f, 1.0f, 0.0f,
1364 0.69f, 0.53f, 4.11f, 1.0f);
1370 10.0f, 11.0f, 19.0f, 2.0f,
1371 5.0f, 20.0f, -21.0f, 3.0f,
1372 7.0f, 16.0f, 30.f, -4.0f,
1373 8.0f, 33.0f, 43.0f, -40.0f);
1382 D3DXVECTOR3 expectedvec, gotvec, vec1, vec2, vec3;
1387 U(
mat).m[0][1] = 5.0f;
U(
mat).m[0][2] = 7.0f;
U(
mat).m[0][3] = 8.0f;
1388 U(
mat).m[1][0] = 11.0f;
U(
mat).m[1][2] = 16.0f;
U(
mat).m[1][3] = 33.0f;
1389 U(
mat).m[2][0] = 19.0f;
U(
mat).m[2][1] = -21.0f;
U(
mat).m[2][3] = 43.0f;
1390 U(
mat).m[3][0] = 2.0f;
U(
mat).m[3][1] = 3.0f;
U(
mat).m[3][2] = -4.0f;
1391 U(
mat).m[0][0] = 10.0f;
U(
mat).m[1][1] = 20.0f;
U(
mat).m[2][2] = 30.0f;
1392 U(
mat).m[3][3] = -40.0f;
1403 got = D3DXPlaneDot(
NULL, &
vec);
1411 got = D3DXPlaneDotCoord(&
plane, &
vec);
1414 got = D3DXPlaneDotCoord(
NULL, &
vec);
1417 got = D3DXPlaneDotCoord(
NULL,
NULL);
1422 got = D3DXPlaneDotNormal(&
plane, &
vec);
1425 got = D3DXPlaneDotNormal(
NULL, &
vec);
1428 got = D3DXPlaneDotNormal(
NULL,
NULL);
1432 vec1.
x = 11.0f; vec1.
y = 13.0f; vec1.
z = 15.0f;
1433 vec2.
x = 17.0f; vec2.
y = 31.0f; vec2.
z = 24.0f;
1434 expectedplane.
a = 17.0f; expectedplane.
b = 31.0f; expectedplane.
c = 24.0f; expectedplane.
d = -950.0f;
1437 gotplane.
a = vec2.
x; gotplane.
b = vec2.
y; gotplane.
c = vec2.
z;
1440 gotplane.
a = vec1.
x; gotplane.
b = vec1.
y; gotplane.
c = vec1.
z;
1441 expectedplane.
d = -1826.0f;
1446 vec1.
x = 1.0f; vec1.
y = 2.0f; vec1.
z = 3.0f;
1447 vec2.
x = 1.0f; vec2.
y = -6.0f; vec2.
z = -5.0f;
1448 vec3.
x = 83.0f; vec3.
y = 74.0f; vec3.
z = 65.0f;
1449 expectedplane.
a = 0.085914f; expectedplane.
b = -0.704492f; expectedplane.
c = 0.704492f; expectedplane.
d = -0.790406f;
1454 vec1.
x = 9.0f; vec1.
y = 6.0f; vec1.
z = 3.0f;
1455 vec2.
x = 2.0f; vec2.
y = 5.0f; vec2.
z = 8.0f;
1456 expectedvec.
x = 20.0f/3.0f; expectedvec.
y = 17.0f/3.0f; expectedvec.
z = 14.0f/3.0f;
1460 vec1.
x = 11.0f; vec1.
y = 13.0f; vec1.
z = 15.0f;
1461 vec2.
x = 17.0f; vec2.
y = 31.0f; vec2.
z = 24.0f;
1462 expectedvec.
x = 20.0f/3.0f; expectedvec.
y = 17.0f/3.0f; expectedvec.
z = 14.0f/3.0f;
1464 ok(funcpointer ==
NULL,
"Expected: %p, Got: %p\n",
NULL, funcpointer);
1467 expectedplane.
a = -3.0f/
sqrt(26.0f); expectedplane.
b = -1.0f/
sqrt(26.0f); expectedplane.
c = 4.0f/
sqrt(26.0f); expectedplane.
d = 7.0/
sqrt(26.0f);
1470 nulplane.
a = 0.0; nulplane.
b = 0.0f; nulplane.
c = 0.0f; nulplane.
d = 0.0f;
1471 expectedplane.
a = 0.0f; expectedplane.
b = 0.0f; expectedplane.
c = 0.0f; expectedplane.
d = 0.0f;
1476 expectedplane.
a = 49.0f; expectedplane.
b = -98.0f; expectedplane.
c = 55.0f; expectedplane.
d = -165.0f;
1484 D3DXQUATERNION expectedquat, gotquat, Nq, Nq1, nul, smallq, smallr,
q,
r,
s,
t,
u;
1490 nul.
x = 0.0f; nul.
y = 0.0f; nul.
z = 0.0f; nul.
w = 0.0f;
1491 q.x = 1.0f;
q.y = 2.0f;
q.z = 4.0f;
q.w = 10.0f;
1492 r.x = -3.0f;
r.y = 4.0f;
r.z = -5.0f;
r.w = 7.0;
1493 t.x = -1111.0f;
t.y = 111.0f;
t.z = -11.0f;
t.w = 1.0f;
1494 u.x = 91.0f;
u.y = - 82.0f;
u.z = 7.3f;
u.w = -6.4f;
1495 smallq.
x = 0.1f; smallq.
y = 0.2f; smallq.
z= 0.3f; smallq.
w = 0.4f;
1496 smallr.
x = 0.5f; smallr.
y = 0.6f; smallr.
z= 0.7f; smallr.
w = 0.8f;
1502 expectedquat.
x = -867.444458; expectedquat.
y = 87.851111f; expectedquat.
z = -9.937778f; expectedquat.
w = 3.235555f;
1507 expectedquat.
x = -1.0f; expectedquat.
y = -2.0f; expectedquat.
z = -4.0f; expectedquat.
w = 10.0f;
1508 D3DXQuaternionConjugate(&gotquat,&
q);
1511 funcpointer = D3DXQuaternionConjugate(&gotquat,
NULL);
1512 ok(funcpointer ==
NULL,
"Expected: %p, Got: %p\n",
NULL, funcpointer);
1513 funcpointer = D3DXQuaternionConjugate(
NULL,
NULL);
1514 ok(funcpointer ==
NULL,
"Expected: %p, Got: %p\n",
NULL, funcpointer);
1517 got = D3DXQuaternionDot(&
q,&
r);
1519 ok(
equal,
"Got unexpected dot %.8e.\n", got);
1521 got = D3DXQuaternionDot(
NULL,&
r);
1523 ok(
equal,
"Got unexpected dot %.8e.\n", got);
1524 got = D3DXQuaternionDot(
NULL,
NULL);
1526 ok(
equal,
"Got unexpected dot %.8e.\n", got);
1529 expectedquat.
x = -0.216382f; expectedquat.
y = -0.432764f; expectedquat.
z = -0.8655270f; expectedquat.
w = -0.129449f;
1533 expectedquat.
x = 0.0f; expectedquat.
y = 0.0f; expectedquat.
z = 0.0f; expectedquat.
w = 1.0f;
1537 Nq1.
x = 0.2f; Nq1.
y = 0.1f; Nq1.
z = 0.3; Nq1.
w= 0.9f;
1538 expectedquat.
x = 0.195366; expectedquat.
y = 0.097683f; expectedquat.
z = 0.293049f; expectedquat.
w = 0.930813f;
1543 expectedquat.
x = 0.0f; expectedquat.
y = 0.0f; expectedquat.
z = 0.0f; expectedquat.
w = 1.0f;
1544 D3DXQuaternionIdentity(&gotquat);
1547 funcpointer = D3DXQuaternionIdentity(
NULL);
1548 ok(funcpointer ==
NULL,
"Expected: %p, Got: %p\n",
NULL, funcpointer);
1551 expectedquat.
x = -1.0f/121.0f; expectedquat.
y = -2.0f/121.0f; expectedquat.
z = -4.0f/121.0f; expectedquat.
w = 10.0f/121.0f;
1555 expectedquat.
x = 1.0f; expectedquat.
y = 2.0f; expectedquat.
z = 4.0f; expectedquat.
w = 10.0f;
1561 s.x = 0.0f;
s.y = 0.0f;
s.z = 0.0f;
s.w = 1.0f;
1562 expectedbool =
TRUE;
1563 gotbool = D3DXQuaternionIsIdentity(&
s);
1564 ok( expectedbool == gotbool,
"Expected boolean : %d, Got bool : %d\n", expectedbool, gotbool);
1565 s.x = 2.3f;
s.y = -4.2f;
s.z = 1.2f;
s.w=0.2f;
1566 expectedbool =
FALSE;
1567 gotbool = D3DXQuaternionIsIdentity(&
q);
1568 ok( expectedbool == gotbool,
"Expected boolean : %d, Got bool : %d\n", expectedbool, gotbool);
1570 gotbool = D3DXQuaternionIsIdentity(
NULL);
1571 ok(gotbool ==
FALSE,
"Expected boolean: %d, Got boolean: %d\n",
FALSE, gotbool);
1574 got = D3DXQuaternionLength(&
q);
1576 ok(
equal,
"Got unexpected length %.8e.\n", got);
1578 got = D3DXQuaternionLength(
NULL);
1580 ok(
equal,
"Got unexpected length %.8e.\n", got);
1583 got = D3DXQuaternionLengthSq(&
q);
1585 ok(
equal,
"Got unexpected length %.8e.\n", got);
1587 got = D3DXQuaternionLengthSq(
NULL);
1589 ok(
equal,
"Got unexpected length %.8e.\n", got);
1592 expectedquat.
x = 1.0f; expectedquat.
y = 2.0f; expectedquat.
z = 4.0f; expectedquat.
w = 0.0f;
1595 expectedquat.
x = -3.0f; expectedquat.
y = 4.0f; expectedquat.
z = -5.0f; expectedquat.
w = 0.0f;
1598 Nq.
x = 1.0f/11.0f; Nq.
y = 2.0f/11.0f; Nq.
z = 4.0f/11.0f; Nq.
w=10.0f/11.0f;
1599 expectedquat.
x = 0.093768f; expectedquat.
y = 0.187536f; expectedquat.
z = 0.375073f; expectedquat.
w = 0.0f;
1602 Nq.
x = 0.0f; Nq.
y = 0.0f; Nq.
z = 0.0f; Nq.
w = 1.0f;
1603 expectedquat.
x = 0.0f; expectedquat.
y = 0.0f; expectedquat.
z = 0.0f; expectedquat.
w = 0.0f;
1606 Nq.
x = 5.4f; Nq.
y = 1.2f; Nq.
z = -0.3f; Nq.
w = -0.3f;
1607 expectedquat.
x = 10.616652f; expectedquat.
y = 2.359256f; expectedquat.
z = -0.589814f; expectedquat.
w = 0.0f;
1611 Nq1.
x = 0.2f; Nq1.
y = 0.1f; Nq1.
z = 0.3; Nq1.
w = 0.9f;
1612 expectedquat.
x = 0.206945f; expectedquat.
y = 0.103473f; expectedquat.
z = 0.310418f; expectedquat.
w = 0.0f;
1616 Nq1.
x = 0.2f; Nq1.
y = 0.1f; Nq1.
z = 0.3; Nq1.
w = -1.0f;
1617 expectedquat.
x = 0.2f; expectedquat.
y = 0.1f; expectedquat.
z = 0.3f; expectedquat.
w = 0.0f;
1622 expectedquat.
x = 3.0f; expectedquat.
y = 61.0f; expectedquat.
z = -32.0f; expectedquat.
w = 85.0f;
1627 expectedquat.
x = 1.0f/11.0f; expectedquat.
y = 2.0f/11.0f; expectedquat.
z = 4.0f/11.0f; expectedquat.
w = 10.0f/11.0f;
1632 axis.
x = 2.0f; axis.
y = 7.0; axis.
z = 13.0f;
1634 expectedquat.
x = 0.067116; expectedquat.
y = 0.234905f; expectedquat.
z = 0.436251f; expectedquat.
w = 0.866025f;
1638 axis.
x = 0.0f; axis.
y = 0.0; axis.
z = 0.0f;
1639 expectedquat.
x = 0.0f; expectedquat.
y = 0.0f; expectedquat.
z = 0.0f; expectedquat.
w = 0.866025f;
1645 U(
mat).m[0][1] = 5.0f;
U(
mat).m[0][2] = 7.0f;
U(
mat).m[0][3] = 8.0f;
1646 U(
mat).m[1][0] = 11.0f;
U(
mat).m[1][2] = 16.0f;
U(
mat).m[1][3] = 33.0f;
1647 U(
mat).m[2][0] = 19.0f;
U(
mat).m[2][1] = -21.0f;
U(
mat).m[2][3] = 43.0f;
1648 U(
mat).m[3][0] = 2.0f;
U(
mat).m[3][1] = 3.0f;
U(
mat).m[3][2] = -4.0f;
1649 U(
mat).m[0][0] = 10.0f;
U(
mat).m[1][1] = 20.0f;
U(
mat).m[2][2] = 30.0f;
1650 U(
mat).m[3][3] = 48.0f;
1651 expectedquat.
x = 2.368682f; expectedquat.
y = 0.768221f; expectedquat.
z = -0.384111f; expectedquat.
w = 3.905125f;
1655 U(
mat).m[0][1] = 5.0f;
U(
mat).m[0][2] = 7.0f;
U(
mat).m[0][3] = 8.0f;
1656 U(
mat).m[1][0] = 11.0f;
U(
mat).m[1][2] = 16.0f;
U(
mat).m[1][3] = 33.0f;
1657 U(
mat).m[2][0] = 19.0f;
U(
mat).m[2][1] = -21.0f;
U(
mat).m[2][3] = 43.0f;
1658 U(
mat).m[3][0] = 2.0f;
U(
mat).m[3][1] = 3.0f;
U(
mat).m[3][2] = -4.0f;
1659 U(
mat).m[0][0] = -10.0f;
U(
mat).m[1][1] = -60.0f;
U(
mat).m[2][2] = 40.0f;
1660 U(
mat).m[3][3] = 48.0f;
1661 expectedquat.
x = 1.233905f; expectedquat.
y = -0.237290f; expectedquat.
z = 5.267827f; expectedquat.
w = -0.284747f;
1665 U(
mat).m[0][1] = 5.0f;
U(
mat).m[0][2] = 7.0f;
U(
mat).m[0][3] = 8.0f;
1666 U(
mat).m[1][0] = 11.0f;
U(
mat).m[1][2] = 16.0f;
U(
mat).m[1][3] = 33.0f;
1667 U(
mat).m[2][0] = 19.0f;
U(
mat).m[2][1] = -21.0f;
U(
mat).m[2][3] = 43.0f;
1668 U(
mat).m[3][0] = 2.0f;
U(
mat).m[3][1] = 3.0f;
U(
mat).m[3][2] = -4.0f;
1669 U(
mat).m[0][0] = -10.0f;
U(
mat).m[1][1] = 60.0f;
U(
mat).m[2][2] = -80.0f;
1670 U(
mat).m[3][3] = 48.0f;
1671 expectedquat.
x = 0.651031f; expectedquat.
y = 6.144103f; expectedquat.
z = -0.203447f; expectedquat.
w = 0.488273f;
1675 U(
mat).m[0][1] = 5.0f;
U(
mat).m[0][2] = 7.0f;
U(
mat).m[0][3] = 8.0f;
1676 U(
mat).m[1][0] = 11.0f;
U(
mat).m[1][2] = 16.0f;
U(
mat).m[1][3] = 33.0f;
1677 U(
mat).m[2][0] = 19.0f;
U(
mat).m[2][1] = -21.0f;
U(
mat).m[2][3] = 43.0f;
1678 U(
mat).m[3][0] = 2.0f;
U(
mat).m[3][1] = 3.0f;
U(
mat).m[3][2] = -4.0f;
1679 U(
mat).m[0][0] = -10.0f;
U(
mat).m[1][1] = 10.0f;
U(
mat).m[2][2] = -0.9f;
1680 U(
mat).m[3][3] = 48.0f;
1681 expectedquat.
x = 1.709495f; expectedquat.
y = 2.339872f; expectedquat.
z = -0.534217f; expectedquat.
w = 1.282122f;
1685 U(
mat).m[0][1] = 5.0f;
U(
mat).m[0][2] = 7.0f;
U(
mat).m[0][3] = 8.0f;
1686 U(
mat).m[1][0] = 11.0f;
U(
mat).m[1][2] = 16.0f;
U(
mat).m[1][3] = 33.0f;
1687 U(
mat).m[2][0] = 19.0f;
U(
mat).m[2][1] = -21.0f;
U(
mat).m[2][3] = 43.0f;
1688 U(
mat).m[3][0] = 2.0f;
U(
mat).m[3][1] = 3.0f;
U(
mat).m[3][2] = -4.0f;
1689 U(
mat).m[0][0] = -10.0f;
U(
mat).m[1][1] = 10.0f;
U(
mat).m[2][2] = -0.51f;
1690 U(
mat).m[3][3] = 48.0f;
1691 expectedquat.
x = 1.724923f; expectedquat.
y = 2.318944f; expectedquat.
z = -0.539039f; expectedquat.
w = 1.293692f;
1695 U(
mat).m[0][1] = 5.0f;
U(
mat).m[0][2] = 7.0f;
U(
mat).m[0][3] = 8.0f;
1696 U(
mat).m[1][0] = 11.0f;
U(
mat).m[1][2] = 16.0f;
U(
mat).m[1][3] = 33.0f;
1697 U(
mat).m[2][0] = 19.0f;
U(
mat).m[2][1] = -21.0f;
U(
mat).m[2][3] = 43.0f;
1698 U(
mat).m[3][0] = 2.0f;
U(
mat).m[3][1] = 3.0f;
U(
mat).m[3][2] = -4.0f;
1699 U(
mat).m[0][0] = -10.0f;
U(
mat).m[1][1] = 10.0f;
U(
mat).m[2][2] = -0.49f;
1700 U(
mat).m[3][3] = 48.0f;
1701 expectedquat.
x = 1.725726f; expectedquat.
y = 2.317865f; expectedquat.
z = -0.539289f; expectedquat.
w = 1.294294f;
1705 U(
mat).m[0][1] = 5.0f;
U(
mat).m[0][2] = 7.0f;
U(
mat).m[0][3] = 8.0f;
1706 U(
mat).m[1][0] = 11.0f;
U(
mat).m[1][2] = 16.0f;
U(
mat).m[1][3] = 33.0f;
1707 U(
mat).m[2][0] = 19.0f;
U(
mat).m[2][1] = -21.0f;
U(
mat).m[2][3] = 43.0f;
1708 U(
mat).m[3][0] = 2.0f;
U(
mat).m[3][1] = 3.0f;
U(
mat).m[3][2] = -4.0f;
1709 U(
mat).m[0][0] = -10.0f;
U(
mat).m[1][1] = 10.0f;
U(
mat).m[2][2] = -0.01f;
1710 U(
mat).m[3][3] = 48.0f;
1711 expectedquat.
x = 1.745328f; expectedquat.
y = 2.291833f; expectedquat.
z = -0.545415f; expectedquat.
w = 1.308996f;
1715 U(
mat).m[0][1] = 5.0f;
U(
mat).m[0][2] = 7.0f;
U(
mat).m[0][3] = 8.0f;
1716 U(
mat).m[1][0] = 11.0f;
U(
mat).m[1][2] = 16.0f;
U(
mat).m[1][3] = 33.0f;
1717 U(
mat).m[2][0] = 19.0f;
U(
mat).m[2][1] = -21.0f;
U(
mat).m[2][3] = 43.0f;
1718 U(
mat).m[3][0] = 2.0f;
U(
mat).m[3][1] = 3.0f;
U(
mat).m[3][2] = -4.0f;
1719 U(
mat).m[0][0] = -10.0f;
U(
mat).m[1][1] = 10.0f;
U(
mat).m[2][2] = 0.0f;
1720 U(
mat).m[3][3] = 48.0f;
1721 expectedquat.
x = 1.745743f; expectedquat.
y = 2.291288f; expectedquat.
z = -0.545545f; expectedquat.
w = 1.309307f;
1725 U(
mat).m[0][1] = 5.0f;
U(
mat).m[0][2] = 7.0f;
U(
mat).m[0][3] = 8.0f;
1726 U(
mat).m[1][0] = 11.0f;
U(
mat).m[1][2] = 16.0f;
U(
mat).m[1][3] = 33.0f;
1727 U(
mat).m[2][0] = 19.0f;
U(
mat).m[2][1] = -21.0f;
U(
mat).m[2][3] = 43.0f;
1728 U(
mat).m[3][0] = 2.0f;
U(
mat).m[3][1] = 3.0f;
U(
mat).m[3][2] = -4.0f;
1729 U(
mat).m[0][0] = -10.0f;
U(
mat).m[1][1] = 10.0f;
U(
mat).m[2][2] = 0.01f;
1730 U(
mat).m[3][3] = 48.0f;
1731 expectedquat.
x = 18.408188f; expectedquat.
y = 5.970223f; expectedquat.
z = -2.985111f; expectedquat.
w = 0.502494f;
1735 U(
mat).m[0][1] = 5.0f;
U(
mat).m[0][2] = 7.0f;
U(
mat).m[0][3] = 8.0f;
1736 U(
mat).m[1][0] = 11.0f;
U(
mat).m[1][2] = 16.0f;
U(
mat).m[1][3] = 33.0f;
1737 U(
mat).m[2][0] = 19.0f;
U(
mat).m[2][1] = -21.0f;
U(
mat).m[2][3] = 43.0f;
1738 U(
mat).m[3][0] = 2.0f;
U(
mat).m[3][1] = 3.0f;
U(
mat).m[3][2] = -4.0f;
1739 U(
mat).m[0][0] = -10.0f;
U(
mat).m[1][1] = 10.0f;
U(
mat).m[2][2] = 0.5f;
1740 U(
mat).m[3][3] = 48.0f;
1741 expectedquat.
x = 15.105186f; expectedquat.
y = 4.898980f; expectedquat.
z = -2.449490f; expectedquat.
w = 0.612372f;
1745 U(
mat).m[0][1] = 5.0f;
U(
mat).m[0][2] = 7.0f;
U(
mat).m[0][3] = 8.0f;
1746 U(
mat).m[1][0] = 11.0f;
U(
mat).m[1][2] = 16.0f;
U(
mat).m[1][3] = 33.0f;
1747 U(
mat).m[2][0] = 19.0f;
U(
mat).m[2][1] = -21.0f;
U(
mat).m[2][3] = 43.0f;
1748 U(
mat).m[3][0] = 2.0f;
U(
mat).m[3][1] = 3.0f;
U(
mat).m[3][2] = -4.0f;
1749 U(
mat).m[0][0] = -10.0f;
U(
mat).m[1][1] = 10.0f;
U(
mat).m[2][2] = 0.70f;
1750 U(
mat).m[3][3] = 48.0f;
1751 expectedquat.
x = 14.188852f; expectedquat.
y = 4.601790f; expectedquat.
z = -2.300895f; expectedquat.
w = 0.651920f;
1755 U(
mat).m[0][1] = 5.0f;
U(
mat).m[0][2] = 7.0f;
U(
mat).m[0][3] = 8.0f;
1756 U(
mat).m[1][0] = 11.0f;
U(
mat).m[1][2] = 16.0f;
U(
mat).m[1][3] = 33.0f;
1757 U(
mat).m[2][0] = 19.0f;
U(
mat).m[2][1] = -21.0f;
U(
mat).m[2][3] = 43.0f;
1758 U(
mat).m[3][0] = 2.0f;
U(
mat).m[3][1] = 3.0f;
U(
mat).m[3][2] = -4.0f;
1759 U(
mat).m[0][0] = -10.0f;
U(
mat).m[1][1] = 10.0f;
U(
mat).m[2][2] = 0.99f;
1760 U(
mat).m[3][3] = 48.0f;
1761 expectedquat.
x = 13.114303f; expectedquat.
y = 4.253287f; expectedquat.
z = -2.126644f; expectedquat.
w = 0.705337f;
1765 U(
mat).m[0][1] = 5.0f;
U(
mat).m[0][2] = 7.0f;
U(
mat).m[0][3] = 8.0f;
1766 U(
mat).m[1][0] = 11.0f;
U(
mat).m[1][2] = 16.0f;
U(
mat).m[1][3] = 33.0f;
1767 U(
mat).m[2][0] = 19.0f;
U(
mat).m[2][1] = -21.0f;
U(
mat).m[2][3] = 43.0f;
1768 U(
mat).m[3][0] = 2.0f;
U(
mat).m[3][1] = 3.0f;
U(
mat).m[3][2] = -4.0f;
1769 U(
mat).m[0][0] = -10.0f;
U(
mat).m[1][1] = 10.0f;
U(
mat).m[2][2] = 2.0f;
1770 U(
mat).m[3][3] = 48.0f;
1771 expectedquat.
x = 10.680980f; expectedquat.
y = 3.464102f; expectedquat.
z = -1.732051f; expectedquat.
w = 0.866025f;
1776 expectedquat.
x = 0.303261f; expectedquat.
y = 0.262299f; expectedquat.
z = 0.410073f; expectedquat.
w = 0.819190f;
1781 expectedquat.
x = -0.2f; expectedquat.
y = 2.6f; expectedquat.
z = 1.3f; expectedquat.
w = 9.1f;
1784 expectedquat.
x = 334.0f; expectedquat.
y = -31.9f; expectedquat.
z = 6.1f; expectedquat.
w = 6.7f;
1787 expectedquat.
x = 0.239485f; expectedquat.
y = 0.346580f; expectedquat.
z = 0.453676f; expectedquat.
w = 0.560772f;
1792 expectedquat.
x = -156.296f; expectedquat.
y = 30.242f; expectedquat.
z = -2.5022f; expectedquat.
w = 7.3576f;
1797 r.x = 1.0f;
r.y = 2.0f;
r.z = 4.0f;
r.w = 10.0f;
1798 s.x = -3.0f;
s.y = 4.0f;
s.z = -5.0f;
s.w = 7.0;
1799 t.x = -1111.0f;
t.y = 111.0f;
t.z = -11.0f;
t.w = 1.0f;
1800 u.x = 91.0f;
u.y = - 82.0f;
u.z = 7.3f;
u.w = -6.4f;
1802 expectedquat.
x = 7.121285f; expectedquat.
y = 2.159964f; expectedquat.
z = -3.855094f; expectedquat.
w = 5.362844f;
1804 expectedquat.
x = -1113.492920f; expectedquat.
y = 82.679260f; expectedquat.
z = -6.696645f; expectedquat.
w = -4.090050f;
1806 expectedquat.
x = -1111.0f; expectedquat.
y = 111.0f; expectedquat.
z = -11.0f; expectedquat.
w = 1.0f;
1810 expectedquat.
x = -1113.492920f; expectedquat.
y = 82.679260f; expectedquat.
z = -6.696645f; expectedquat.
w = -4.090050f;
1815 r.x = 0.2f;
r.y = 0.3f;
r.z = 1.3f;
r.w = -0.6f;
1816 s.x = -3.0f;
s.y =-2.0f;
s.z = 4.0f;
s.w = 0.2f;
1817 t.x = 0.4f;
t.y = 8.3f;
t.z = -3.1f;
t.w = -2.7f;
1818 u.x = 1.1f;
u.y = -0.7f;
u.z = 9.2f;
u.w = 0.0f;
1820 expectedquat.
x = -4.139569f; expectedquat.
y = -2.469115f; expectedquat.
z = 2.364477f; expectedquat.
w = 0.465494f;
1822 expectedquat.
x = 2.342533f; expectedquat.
y = 2.365127f; expectedquat.
z = 8.628538f; expectedquat.
w = -0.898356f;
1824 expectedquat.
x = 1.1f; expectedquat.
y = -0.7f; expectedquat.
z = 9.2f; expectedquat.
w = 0.0f;
1827 expectedquat.
x = -3.754567f; expectedquat.
y = -0.586085f; expectedquat.
z = 3.815818f; expectedquat.
w = -0.198150f;
1829 expectedquat.
x = 0.140773f; expectedquat.
y = -8.737090f; expectedquat.
z = -0.516593f; expectedquat.
w = 3.053942f;
1831 expectedquat.
x = -0.4f; expectedquat.
y = -8.3f; expectedquat.
z = 3.1f; expectedquat.
w = 2.7f;
1833 r.x = -1.0f;
r.y = 0.0f;
r.z = 0.0f;
r.w = 0.0f;
1834 s.x = 1.0f;
s.y =0.0f;
s.z = 0.0f;
s.w = 0.0f;
1835 t.x = 1.0f;
t.y = 0.0f;
t.z = 0.0f;
t.w = 0.0f;
1836 u.x = -1.0f;
u.y = 0.0f;
u.z = 0.0f;
u.w = 0.0f;
1838 expectedquat.
x = 1.0f; expectedquat.
y = 0.0f; expectedquat.
z = 0.0f; expectedquat.
w = 0.0f;
1840 expectedquat.
x = 1.0f; expectedquat.
y = 0.0f; expectedquat.
z = 0.0f; expectedquat.
w = 0.0f;
1842 expectedquat.
x = 1.0f; expectedquat.
y = 0.0f; expectedquat.
z = 0.0f; expectedquat.
w = 0.0f;
1846 Nq.
x = 1.0f/22.0f; Nq.
y = 2.0f/22.0f; Nq.
z = 4.0f/22.0f; Nq.
w = 10.0f/22.0f;
1847 expectedvec.
x = 1.0f/22.0f; expectedvec.
y = 2.0f/22.0f; expectedvec.
z = 4.0f/22.0f;
1853 expectedvec.
x = 1.0f; expectedvec.
y = 2.0f; expectedvec.
z = 4.0f;
1857 expectedvec.
x = 0.0f; expectedvec.
y = 0.0f; expectedvec.
z = 0.0f;
1875 float coeff1, coeff2, got,
scale;
1879 nul.
x = 0.0f; nul.
y = 0.0f;
1880 u.x = 3.0f;
u.y = 4.0f;
1881 v.x = -7.0f;
v.y = 9.0f;
1882 w.x = 4.0f;
w.y = -3.0f;
1883 x.x = 2.0f;
x.y = -11.0f;
1886 1.0f, 2.0f, 3.0f, 4.0f,
1887 5.0f, 6.0f, 7.0f, 8.0f,
1888 9.0f, 10.0f, 11.0f, 12.0f,
1889 13.0f, 14.0f, 15.0f, 16.0f);
1891 coeff1 = 2.0f; coeff2 = 5.0f;
1895 expectedvec.
x = -4.0f; expectedvec.
y = 13.0f;
1896 D3DXVec2Add(&gotvec,&
u,&
v);
1899 funcpointer = D3DXVec2Add(&gotvec,
NULL,&
v);
1900 ok(funcpointer ==
NULL,
"Expected: %p, Got: %p\n",
NULL, funcpointer);
1902 ok(funcpointer ==
NULL,
"Expected: %p, Got: %p\n",
NULL, funcpointer);
1905 expectedvec.
x = -12.0f; expectedvec.
y = -21.0f;
1910 expectedvec.
x = 5820.25f; expectedvec.
y = -3654.5625f;
1915 got = D3DXVec2CCW(&
u, &
v);
1917 ok(
equal,
"Got unexpected ccw %.8e.\n", got);
1919 got = D3DXVec2CCW(
NULL, &
v);
1921 ok(
equal,
"Got unexpected ccw %.8e.\n", got);
1924 ok(
equal,
"Got unexpected ccw %.8e.\n", got);
1927 got = D3DXVec2Dot(&
u, &
v);
1929 ok(
equal,
"Got unexpected dot %.8e.\n", got);
1931 got = D3DXVec2Dot(
NULL, &
v);
1933 ok(
equal,
"Got unexpected dot %.8e.\n", got);
1936 ok(
equal,
"Got unexpected dot %.8e.\n", got);
1939 expectedvec.
x = 2604.625f; expectedvec.
y = -4533.0f;
1944 got = D3DXVec2Length(&
u);
1946 ok(
equal,
"Got unexpected length %.8e.\n", got);
1948 got = D3DXVec2Length(
NULL);
1950 ok(
equal,
"Got unexpected length %.8e.\n", got);
1953 got = D3DXVec2LengthSq(&
u);
1955 ok(
equal,
"Got unexpected length %.8e.\n", got);
1957 got = D3DXVec2LengthSq(
NULL);
1959 ok(
equal,
"Got unexpected length %.8e.\n", got);
1962 expectedvec.
x = 68.0f; expectedvec.
y = -28.5f;
1963 D3DXVec2Lerp(&gotvec, &
u, &
v,
scale);
1966 funcpointer = D3DXVec2Lerp(&gotvec,
NULL,&
v,
scale);
1967 ok(funcpointer ==
NULL,
"Expected: %p, Got: %p\n",
NULL, funcpointer);
1969 ok(funcpointer ==
NULL,
"Expected: %p, Got: %p\n",
NULL, funcpointer);
1972 expectedvec.
x = 3.0f; expectedvec.
y = 9.0f;
1973 D3DXVec2Maximize(&gotvec, &
u, &
v);
1976 funcpointer = D3DXVec2Maximize(&gotvec,
NULL,&
v);
1977 ok(funcpointer ==
NULL,
"Expected: %p, Got: %p\n",
NULL, funcpointer);
1979 ok(funcpointer ==
NULL,
"Expected: %p, Got: %p\n",
NULL, funcpointer);
1982 expectedvec.
x = -7.0f; expectedvec.
y = 4.0f;
1983 D3DXVec2Minimize(&gotvec,&
u,&
v);
1986 funcpointer = D3DXVec2Minimize(&gotvec,
NULL,&
v);
1987 ok(funcpointer ==
NULL,
"Expected: %p, Got: %p\n",
NULL, funcpointer);
1989 ok(funcpointer ==
NULL,
"Expected: %p, Got: %p\n",
NULL, funcpointer);
1992 expectedvec.
x = 0.6f; expectedvec.
y = 0.8f;
1996 expectedvec.
x = 0.0f; expectedvec.
y = 0.0f;
2001 expectedvec.
x = -19.5f; expectedvec.
y = -26.0f;
2002 D3DXVec2Scale(&gotvec,&
u,
scale);
2005 funcpointer = D3DXVec2Scale(&gotvec,
NULL,
scale);
2006 ok(funcpointer ==
NULL,
"Expected: %p, Got: %p\n",
NULL, funcpointer);
2008 ok(funcpointer ==
NULL,
"Expected: %p, Got: %p\n",
NULL, funcpointer);
2011 expectedvec.
x = 10.0f; expectedvec.
y = -5.0f;
2012 D3DXVec2Subtract(&gotvec, &
u, &
v);
2015 funcpointer = D3DXVec2Subtract(&gotvec,
NULL,&
v);
2016 ok(funcpointer ==
NULL,
"Expected: %p, Got: %p\n",
NULL, funcpointer);
2018 ok(funcpointer ==
NULL,
"Expected: %p, Got: %p\n",
NULL, funcpointer);
2021 expectedtrans.
x = 36.0f; expectedtrans.
y = 44.0f; expectedtrans.
z = 52.0f; expectedtrans.
w = 60.0f;
2024 gottrans.
x =
u.x; gottrans.
y =
u.y;
2029 expectedvec.
x = 0.6f; expectedvec.
y = 11.0f/15.0f;
2032 gotvec.
x =
u.x; gotvec.
y =
u.y;
2037 expectedvec.
x = 23.0f; expectedvec.
y = 30.0f;
2049 float coeff1, coeff2, got,
scale;
2052 nul.
x = 0.0f; nul.
y = 0.0f; nul.
z = 0.0f;
2053 u.x = 9.0f;
u.y = 6.0f;
u.z = 2.0f;
2054 v.x = 2.0f;
v.y = -3.0f;
v.z = -4.0;
2055 w.x = 3.0f;
w.y = -5.0f;
w.z = 7.0f;
2056 x.x = 4.0f;
x.y = 1.0f;
x.z = 11.0f;
2058 viewport.
Width = 800; viewport.
MinZ = 0.2f; viewport.
X = 10;
2059 viewport.
Height = 680; viewport.
MaxZ = 0.9f; viewport.
Y = 5;
2062 1.0f, 2.0f, 3.0f, 4.0f,
2063 5.0f, 6.0f, 7.0f, 8.0f,
2064 9.0f, 10.0f, 11.0f, 12.0f,
2065 13.0f, 14.0f, 15.0f, 16.0f);
2067 U(
view).m[0][1] = 5.0f;
U(
view).m[0][2] = 7.0f;
U(
view).m[0][3] = 8.0f;
2068 U(
view).m[1][0] = 11.0f;
U(
view).m[1][2] = 16.0f;
U(
view).m[1][3] = 33.0f;
2069 U(
view).m[2][0] = 19.0f;
U(
view).m[2][1] = -21.0f;
U(
view).m[2][3] = 43.0f;
2070 U(
view).m[3][0] = 2.0f;
U(
view).m[3][1] = 3.0f;
U(
view).m[3][2] = -4.0f;
2071 U(
view).m[0][0] = 10.0f;
U(
view).m[1][1] = 20.0f;
U(
view).m[2][2] = 30.0f;
2072 U(
view).m[3][3] = -40.0f;
2075 21.0f, 2.0f, 3.0f, 4.0f,
2076 5.0f, 23.0f, 7.0f, 8.0f,
2077 -8.0f, -7.0f, 25.0f, -5.0f,
2078 -4.0f, -3.0f, -2.0f, 27.0f);
2080 coeff1 = 2.0f; coeff2 = 5.0f;
2084 expectedvec.
x = 11.0f; expectedvec.
y = 3.0f; expectedvec.
z = -2.0f;
2085 D3DXVec3Add(&gotvec,&
u,&
v);
2088 funcpointer = D3DXVec3Add(&gotvec,
NULL,&
v);
2089 ok(funcpointer ==
NULL,
"Expected: %p, Got: %p\n",
NULL, funcpointer);
2091 ok(funcpointer ==
NULL,
"Expected: %p, Got: %p\n",
NULL, funcpointer);
2094 expectedvec.
x = -35.0f; expectedvec.
y = -67.0; expectedvec.
z = 15.0f;
2099 expectedvec.
x = 1458.0f; expectedvec.
y = 22.1875f; expectedvec.
z = 4141.375f;
2104 expectedvec.
x = -18.0f; expectedvec.
y = 40.0f; expectedvec.
z = -39.0f;
2105 D3DXVec3Cross(&gotvec,&
u,&
v);
2107 expectedvec.
x = -277.0f; expectedvec.
y = -150.0f; expectedvec.
z = -26.0f;
2108 D3DXVec3Cross(&gotvec,&gotvec,&
v);
2111 funcpointer = D3DXVec3Cross(&gotvec,
NULL,&
v);
2112 ok(funcpointer ==
NULL,
"Expected: %p, Got: %p\n",
NULL, funcpointer);
2114 ok(funcpointer ==
NULL,
"Expected: %p, Got: %p\n",
NULL, funcpointer);
2117 got = D3DXVec3Dot(&
u, &
v);
2119 ok(
equal,
"Got unexpected dot %.8e.\n", got);
2121 got = D3DXVec3Dot(
NULL, &
v);
2123 ok(
equal,
"Got unexpected dot %.8e.\n", got);
2126 ok(
equal,
"Got unexpected dot %.8e.\n", got);
2129 expectedvec.
x = -6045.75f; expectedvec.
y = -6650.0f; expectedvec.
z = 1358.875f;
2134 got = D3DXVec3Length(&
u);
2136 ok(
equal,
"Got unexpected length %.8e.\n", got);
2138 got = D3DXVec3Length(
NULL);
2140 ok(
equal,
"Got unexpected length %.8e.\n", got);
2143 got = D3DXVec3LengthSq(&
u);
2145 ok(
equal,
"Got unexpected length %.8e.\n", got);
2147 got = D3DXVec3LengthSq(
NULL);
2149 ok(
equal,
"Got unexpected length %.8e.\n", got);
2152 expectedvec.
x = 54.5f; expectedvec.
y = 64.5f; expectedvec.
z = 41.0f ;
2153 D3DXVec3Lerp(&gotvec,&
u,&
v,
scale);
2156 funcpointer = D3DXVec3Lerp(&gotvec,
NULL,&
v,
scale);
2157 ok(funcpointer ==
NULL,
"Expected: %p, Got: %p\n",
NULL, funcpointer);
2159 ok(funcpointer ==
NULL,
"Expected: %p, Got: %p\n",
NULL, funcpointer);
2162 expectedvec.
x = 9.0f; expectedvec.
y = 6.0f; expectedvec.
z = 2.0f;
2163 D3DXVec3Maximize(&gotvec,&
u,&
v);
2166 funcpointer = D3DXVec3Maximize(&gotvec,
NULL,&
v);
2167 ok(funcpointer ==
NULL,
"Expected: %p, Got: %p\n",
NULL, funcpointer);
2169 ok(funcpointer ==
NULL,
"Expected: %p, Got: %p\n",
NULL, funcpointer);
2172 expectedvec.
x = 2.0f; expectedvec.
y = -3.0f; expectedvec.
z = -4.0f;
2173 D3DXVec3Minimize(&gotvec,&
u,&
v);
2176 funcpointer = D3DXVec3Minimize(&gotvec,
NULL,&
v);
2177 ok(funcpointer ==
NULL,
"Expected: %p, Got: %p\n",
NULL, funcpointer);
2179 ok(funcpointer ==
NULL,
"Expected: %p, Got: %p\n",
NULL, funcpointer);
2182 expectedvec.
x = 9.0f/11.0f; expectedvec.
y = 6.0f/11.0f; expectedvec.
z = 2.0f/11.0f;
2186 expectedvec.
x = 0.0f; expectedvec.
y = 0.0f; expectedvec.
z = 0.0f;
2191 expectedvec.
x = -58.5f; expectedvec.
y = -39.0f; expectedvec.
z = -13.0f;
2192 D3DXVec3Scale(&gotvec,&
u,
scale);
2195 funcpointer = D3DXVec3Scale(&gotvec,
NULL,
scale);
2196 ok(funcpointer ==
NULL,
"Expected: %p, Got: %p\n",
NULL, funcpointer);
2198 ok(funcpointer ==
NULL,
"Expected: %p, Got: %p\n",
NULL, funcpointer);
2201 expectedvec.
x = 7.0f; expectedvec.
y = 9.0f; expectedvec.
z = 6.0f;
2202 D3DXVec3Subtract(&gotvec,&
u,&
v);
2205 funcpointer = D3DXVec3Subtract(&gotvec,
NULL,&
v);
2206 ok(funcpointer ==
NULL,
"Expected: %p, Got: %p\n",
NULL, funcpointer);
2208 ok(funcpointer ==
NULL,
"Expected: %p, Got: %p\n",
NULL, funcpointer);
2211 expectedtrans.
x = 70.0f; expectedtrans.
y = 88.0f; expectedtrans.
z = 106.0f; expectedtrans.
w = 124.0f;
2215 gottrans.
x =
u.x; gottrans.
y =
u.y; gottrans.
z =
u.z;
2220 expectedvec.
x = 70.0f/124.0f; expectedvec.
y = 88.0f/124.0f; expectedvec.
z = 106.0f/124.0f;
2225 expectedvec.
x = 57.0f; expectedvec.
y = 74.0f; expectedvec.
z = 91.0f;
2230 expectedvec.
x = 1135.721924f; expectedvec.
y = 147.086914f; expectedvec.
z = 0.153412f;
2247 expectedvec.
x = 4010.000000f; expectedvec.
y = -1695.000000f; expectedvec.
z = 1.600000f;
2251 expectedvec.
x = 1.814305f; expectedvec.
y = 0.582097f; expectedvec.
z = -0.066555f;
2256 expectedvec.
x = -2.913411f; expectedvec.
y = 1.593215f; expectedvec.
z = 0.380724f;
2273 expectedvec.
x = -1.002500f; expectedvec.
y = 0.997059f; expectedvec.
z = 2.571429f;
2277 expectedvec.
x = -11.018396f; expectedvec.
y = 3.218991f; expectedvec.
z = 1.380329f;
2287 float coeff1, coeff2, got,
scale;
2291 u.x = 1.0f;
u.y = 2.0f;
u.z = 4.0f;
u.w = 10.0;
2292 v.x = -3.0f;
v.y = 4.0f;
v.z = -5.0f;
v.w = 7.0;
2293 w.x = 4.0f;
w.y =6.0f;
w.z = -2.0f;
w.w = 1.0f;
2294 x.x = 6.0f;
x.y = -7.0f;
x.z =8.0f;
x.w = -9.0f;
2297 1.0f, 2.0f, 3.0f, 4.0f,
2298 5.0f, 6.0f, 7.0f, 8.0f,
2299 9.0f, 10.0f, 11.0f, 12.0f,
2300 13.0f, 14.0f, 15.0f, 16.0f);
2302 coeff1 = 2.0f; coeff2 = 5.0;
2306 expectedvec.
x = -2.0f; expectedvec.
y = 6.0f; expectedvec.
z = -1.0f; expectedvec.
w = 17.0f;
2307 D3DXVec4Add(&gotvec,&
u,&
v);
2310 funcpointer = D3DXVec4Add(&gotvec,
NULL,&
v);
2311 ok(funcpointer ==
NULL,
"Expected: %p, Got: %p\n",
NULL, funcpointer);
2313 ok(funcpointer ==
NULL,
"Expected: %p, Got: %p\n",
NULL, funcpointer);
2316 expectedvec.
x = 8.0f; expectedvec.
y = 26.0; expectedvec.
z = -44.0f; expectedvec.
w = -41.0f;
2321 expectedvec.
x = 2754.625f; expectedvec.
y = 2367.5625f; expectedvec.
z = 1060.1875f; expectedvec.
w = 131.3125f;
2326 expectedvec.
x = 390.0f; expectedvec.
y = -393.0f; expectedvec.
z = -316.0f; expectedvec.
w = 166.0f;
2331 got = D3DXVec4Dot(&
u, &
v);
2333 ok(
equal,
"Got unexpected dot %.8e.\n", got);
2335 got = D3DXVec4Dot(
NULL, &
v);
2337 ok(
equal,
"Got unexpected dot %.8e.\n", got);
2340 ok(
equal,
"Got unexpected dot %.8e.\n", got);
2343 expectedvec.
x = 1224.625f; expectedvec.
y = 3461.625f; expectedvec.
z = -4758.875f; expectedvec.
w = -5781.5f;
2348 got = D3DXVec4Length(&
u);
2350 ok(
equal,
"Got unexpected length %.8e.\n", got);
2352 got = D3DXVec4Length(
NULL);
2354 ok(
equal,
"Got unexpected length %.8e.\n", got);
2357 got = D3DXVec4LengthSq(&
u);
2359 ok(
equal,
"Got unexpected length %.8e.\n", got);
2361 got = D3DXVec4LengthSq(
NULL);
2363 ok(
equal,
"Got unexpected length %.8e.\n", got);
2366 expectedvec.
x = 27.0f; expectedvec.
y = -11.0f; expectedvec.
z = 62.5; expectedvec.
w = 29.5;
2367 D3DXVec4Lerp(&gotvec,&
u,&
v,
scale);
2370 funcpointer = D3DXVec4Lerp(&gotvec,
NULL,&
v,
scale);
2371 ok(funcpointer ==
NULL,
"Expected: %p, Got: %p\n",
NULL, funcpointer);
2373 ok(funcpointer ==
NULL,
"Expected: %p, Got: %p\n",
NULL, funcpointer);
2376 expectedvec.
x = 1.0f; expectedvec.
y = 4.0f; expectedvec.
z = 4.0f; expectedvec.
w = 10.0;
2377 D3DXVec4Maximize(&gotvec,&
u,&
v);
2380 funcpointer = D3DXVec4Maximize(&gotvec,
NULL,&
v);
2381 ok(funcpointer ==
NULL,
"Expected: %p, Got: %p\n",
NULL, funcpointer);
2383 ok(funcpointer ==
NULL,
"Expected: %p, Got: %p\n",
NULL, funcpointer);
2386 expectedvec.
x = -3.0f; expectedvec.
y = 2.0f; expectedvec.
z = -5.0f; expectedvec.
w = 7.0;
2387 D3DXVec4Minimize(&gotvec,&
u,&
v);
2390 funcpointer = D3DXVec4Minimize(&gotvec,
NULL,&
v);
2391 ok(funcpointer ==
NULL,
"Expected: %p, Got: %p\n",
NULL, funcpointer);
2393 ok(funcpointer ==
NULL,
"Expected: %p, Got: %p\n",
NULL, funcpointer);
2396 expectedvec.
x = 1.0f/11.0f; expectedvec.
y = 2.0f/11.0f; expectedvec.
z = 4.0f/11.0f; expectedvec.
w = 10.0f/11.0f;
2401 expectedvec.
x = -6.5f; expectedvec.
y = -13.0f; expectedvec.
z = -26.0f; expectedvec.
w = -65.0f;
2402 D3DXVec4Scale(&gotvec,&
u,
scale);
2405 funcpointer = D3DXVec4Scale(&gotvec,
NULL,
scale);
2406 ok(funcpointer ==
NULL,
"Expected: %p, Got: %p\n",
NULL, funcpointer);
2408 ok(funcpointer ==
NULL,
"Expected: %p, Got: %p\n",
NULL, funcpointer);
2411 expectedvec.
x = 4.0f; expectedvec.
y = -2.0f; expectedvec.
z = 9.0f; expectedvec.
w = 3.0f;
2412 D3DXVec4Subtract(&gotvec,&
u,&
v);
2415 funcpointer = D3DXVec4Subtract(&gotvec,
NULL,&
v);
2416 ok(funcpointer ==
NULL,
"Expected: %p, Got: %p\n",
NULL, funcpointer);
2418 ok(funcpointer ==
NULL,
"Expected: %p, Got: %p\n",
NULL, funcpointer);
2421 expectedtrans.
x = 177.0f; expectedtrans.
y = 194.0f; expectedtrans.
z = 211.0f; expectedtrans.
w = 228.0f;
2428 ID3DXMatrixStack *
stack;
2433 1.0f, 2.0f, 3.0f, 4.0f,
2434 5.0f, 6.0f, 7.0f, 8.0f,
2435 9.0f, 10.0f, 11.0f, 12.0f,
2436 13.0f, 14.0f, 15.0f, 16.0f
2440 17.0f, 18.0f, 19.0f, 20.0f,
2441 21.0f, 22.0f, 23.0f, 24.0f,
2442 25.0f, 26.0f, 27.0f, 28.0f,
2443 29.0f, 30.0f, 31.0f, 32.0f
2451 "The top of an empty matrix stack should be an identity matrix\n");
2500 ok(!refcount,
"Matrix stack has %u references left.\n", refcount);
2519 U(exp_mat).m[0][0] = 10.0f;
2520 U(exp_mat).m[1][0] = -17.320507f;
2521 U(exp_mat).m[2][0] = 0.0f;
2522 U(exp_mat).m[3][0] = -1.035898f;
2523 U(exp_mat).m[0][1] = 17.320507f;
2524 U(exp_mat).m[1][1] = 10.0f;
2525 U(exp_mat).m[2][1] = 0.0f;
2526 U(exp_mat).m[3][1] = 6.401924f;
2527 U(exp_mat).m[0][2] = 0.0f;
2528 U(exp_mat).m[1][2] = 0.0f;
2529 U(exp_mat).m[2][2] = 1.0f;
2530 U(exp_mat).m[3][2] = 0.0f;
2531 U(exp_mat).m[0][3] = 0.0f;
2532 U(exp_mat).m[1][3] = 0.0f;
2533 U(exp_mat).m[2][3] = 0.0f;
2534 U(exp_mat).m[3][3] = 1.0f;
2548 U(exp_mat).m[0][0] = 10.0f;
2549 U(exp_mat).m[1][0] = -17.320507f;
2550 U(exp_mat).m[2][0] = 0.0f;
2551 U(exp_mat).m[3][0] = 4.964102f;
2552 U(exp_mat).m[0][1] = 17.320507f;
2553 U(exp_mat).m[1][1] = 10.0f;
2554 U(exp_mat).m[2][1] = 0.0f;
2555 U(exp_mat).m[3][1] = -0.598076f;
2556 U(exp_mat).m[0][2] = 0.0f;
2557 U(exp_mat).m[1][2] = 0.0f;
2558 U(exp_mat).m[2][2] = 1.0f;
2559 U(exp_mat).m[3][2] = 0.0f;
2560 U(exp_mat).m[0][3] = 0.0f;
2561 U(exp_mat).m[1][3] = 0.0f;
2562 U(exp_mat).m[2][3] = 0.0f;
2563 U(exp_mat).m[3][3] = 1.0f;
2577 U(exp_mat).m[0][0] = 10.0f;
2578 U(exp_mat).m[1][0] = -17.320507f;
2579 U(exp_mat).m[2][0] = 0.0f;
2580 U(exp_mat).m[3][0] = -6.0f;
2581 U(exp_mat).m[0][1] = 17.320507f;
2582 U(exp_mat).m[1][1] = 10.0f;
2583 U(exp_mat).m[2][1] = 0.0f;
2584 U(exp_mat).m[3][1] = 7.0f;
2585 U(exp_mat).m[0][2] = 0.0f;
2586 U(exp_mat).m[1][2] = 0.0f;
2587 U(exp_mat).m[2][2] = 1.0f;
2588 U(exp_mat).m[3][2] = 0.0f;
2589 U(exp_mat).m[0][3] = 0.0f;
2590 U(exp_mat).m[1][3] = 0.0f;
2591 U(exp_mat).m[2][3] = 0.0f;
2592 U(exp_mat).m[3][3] = 1.0f;
2603 U(exp_mat).m[0][0] = 14.142133f;
2604 U(exp_mat).m[1][0] = -14.142133f;
2605 U(exp_mat).m[2][0] = 0.0f;
2606 U(exp_mat).m[3][0] = 0.0f;
2607 U(exp_mat).m[0][1] = 14.142133;
2608 U(exp_mat).m[1][1] = 14.142133f;
2609 U(exp_mat).m[2][1] = 0.0f;
2610 U(exp_mat).m[3][1] = 0.0f;
2611 U(exp_mat).m[0][2] = 0.0f;
2612 U(exp_mat).m[1][2] = 0.0f;
2613 U(exp_mat).m[2][2] = 1.0f;
2614 U(exp_mat).m[3][2] = 0.0f;
2615 U(exp_mat).m[0][3] = 0.0f;
2616 U(exp_mat).m[1][3] = 0.0f;
2617 U(exp_mat).m[2][3] = 0.0f;
2618 U(exp_mat).m[3][3] = 1.0f;
2628 D3DXVECTOR3 exp_scale, got_scale, exp_translation, got_translation;
2634 U(
pm).m[0][0] = -9.23879206e-01f;
2635 U(
pm).m[1][0] = -2.70598412e-01f;
2636 U(
pm).m[2][0] = 2.70598441e-01f;
2637 U(
pm).m[3][0] = -5.00000000e+00f;
2638 U(
pm).m[0][1] = 2.70598471e-01f;
2639 U(
pm).m[1][1] = 3.80604863e-02f;
2640 U(
pm).m[2][1] = 9.61939573e-01f;
2641 U(
pm).m[3][1] = 0.00000000e+00f;
2642 U(
pm).m[0][2] = -2.70598441e-01f;
2643 U(
pm).m[1][2] = 9.61939573e-01f;
2644 U(
pm).m[2][2] = 3.80603075e-02f;
2645 U(
pm).m[3][2] = 1.00000000e+01f;
2646 U(
pm).m[0][3] = 0.00000000e+00f;
2647 U(
pm).m[1][3] = 0.00000000e+00f;
2648 U(
pm).m[2][3] = 0.00000000e+00f;
2649 U(
pm).m[3][3] = 1.00000000e+00f;
2651 exp_scale.
x = 9.99999881e-01f;
2652 exp_scale.
y = 9.99999881e-01f;
2653 exp_scale.
z = 9.99999881e-01f;
2655 exp_rotation.
x = 2.14862776e-08f;
2656 exp_rotation.
y = 6.93519890e-01f;
2657 exp_rotation.
z = 6.93519890e-01f;
2658 exp_rotation.
w = 1.95090637e-01f;
2660 exp_translation.
x = -5.0f;
2661 exp_translation.
y = 0.0f;
2662 exp_translation.
z = 10.0f;
2667 expect_vec3(&exp_translation, &got_translation, 0);
2671 U(
pm).m[0][0] = -2.255813f;
2672 U(
pm).m[1][0] = 1.302324f;
2673 U(
pm).m[2][0] = 1.488373f;
2674 U(
pm).m[3][0] = 1.0f;
2675 U(
pm).m[0][1] = 1.302327f;
2676 U(
pm).m[1][1] = -0.7209296f;
2677 U(
pm).m[2][1] = 2.60465f;
2678 U(
pm).m[3][1] = 2.0f;
2679 U(
pm).m[0][2] = 1.488371f;
2680 U(
pm).m[1][2] = 2.604651f;
2681 U(
pm).m[2][2] = -0.02325551f;
2682 U(
pm).m[3][2] = 3.0f;
2683 U(
pm).m[0][3] = 0.0f;
2684 U(
pm).m[1][3] = 0.0f;
2685 U(
pm).m[2][3] = 0.0f;
2686 U(
pm).m[3][3] = 1.0f;
2688 exp_scale.
x = 2.99999928e+00f;
2689 exp_scale.
y = 2.99999905e+00f;
2690 exp_scale.
z = 2.99999952e+00f;
2692 exp_rotation.
x = 3.52180451e-01f;
2693 exp_rotation.
y = 6.16315663e-01f;
2694 exp_rotation.
z = 7.04360664e-01f;
2695 exp_rotation.
w = 3.38489343e-07f;
2697 exp_translation.
x = 1.0f;
2698 exp_translation.
y = 2.0f;
2699 exp_translation.
z = 3.0f;
2704 expect_vec3(&exp_translation, &got_translation, 0);
2708 U(
pm).m[0][0] = 2.427051f;
2709 U(
pm).m[1][0] = 0.0f;
2710 U(
pm).m[2][0] = 1.763355f;
2711 U(
pm).m[3][0] = 5.0f;
2712 U(
pm).m[0][1] = 0.0f;
2713 U(
pm).m[1][1] = 3.0f;
2714 U(
pm).m[2][1] = 0.0f;
2715 U(
pm).m[3][1] = 5.0f;
2716 U(
pm).m[0][2] = -1.763355f;
2717 U(
pm).m[1][2] = 0.0f;
2718 U(
pm).m[2][2] = 2.427051f;
2719 U(
pm).m[3][2] = 5.0f;
2720 U(
pm).m[0][3] = 0.0f;
2721 U(
pm).m[1][3] = 0.0f;
2722 U(
pm).m[2][3] = 0.0f;
2723 U(
pm).m[3][3] = 1.0f;
2725 exp_scale.
x = 2.99999976e+00f;
2726 exp_scale.
y = 3.00000000e+00f;
2727 exp_scale.
z = 2.99999976e+00f;
2729 exp_rotation.
x = 0.00000000e+00f;
2730 exp_rotation.
y = 3.09016883e-01f;
2731 exp_rotation.
z = 0.00000000e+00f;
2732 exp_rotation.
w = 9.51056540e-01f;
2734 exp_translation.
x = 5.0f;
2735 exp_translation.
y = 5.0f;
2736 exp_translation.
z = 5.0f;
2741 expect_vec3(&exp_translation, &got_translation, 0);
2745 U(
pm).m[0][0] = -9.23879206e-01f;
2746 U(
pm).m[1][0] = -2.70598412e-01f;
2747 U(
pm).m[2][0] = 2.70598441e-01f;
2748 U(
pm).m[3][0] = -5.00000000e+00f;
2749 U(
pm).m[0][1] = 2.70598471e-01f;
2750 U(
pm).m[1][1] = 3.80604863e-02f;
2751 U(
pm).m[2][1] = 9.61939573e-01f;
2752 U(
pm).m[3][1] = 0.00000000e+00f;
2753 U(
pm).m[0][2] = -2.70598441e-01f;
2754 U(
pm).m[1][2] = 9.61939573e-01f;
2755 U(
pm).m[2][2] = 3.80603075e-02f;
2756 U(
pm).m[3][2] = 1.00000000e+01f;
2757 U(
pm).m[0][3] = 0.00000000e+00f;
2758 U(
pm).m[1][3] = 0.00000000e+00f;
2759 U(
pm).m[2][3] = 0.00000000e+00f;
2760 U(
pm).m[3][3] = 1.00000000e+00f;
2762 exp_scale.
x = 9.99999881e-01f;
2763 exp_scale.
y = 9.99999881e-01f;
2764 exp_scale.
z = 9.99999881e-01f;
2766 exp_rotation.
x = 2.14862776e-08f;
2767 exp_rotation.
y = 6.93519890e-01f;
2768 exp_rotation.
z = 6.93519890e-01f;
2769 exp_rotation.
w = 1.95090637e-01f;
2771 exp_translation.
x = -5.0f;
2772 exp_translation.
y = 0.0f;
2773 exp_translation.
z = 10.0f;
2778 expect_vec3(&exp_translation, &got_translation, 0);
2782 U(
pm).m[0][0] = -9.23878908e-01f;
2783 U(
pm).m[1][0] = -5.41196704e-01f;
2784 U(
pm).m[2][0] = 8.11795175e-01f;
2785 U(
pm).m[3][0] = -5.00000000e+00f;
2786 U(
pm).m[0][1] = 2.70598322e-01f;
2787 U(
pm).m[1][1] = 7.61209577e-02f;
2788 U(
pm).m[2][1] = 2.88581824e+00f;
2789 U(
pm).m[3][1] = 0.00000000e+00f;
2790 U(
pm).m[0][2] = -2.70598352e-01f;
2791 U(
pm).m[1][2] = 1.92387879e+00f;
2792 U(
pm).m[2][2] = 1.14180908e-01f;
2793 U(
pm).m[3][2] = 1.00000000e+01f;
2794 U(
pm).m[0][3] = 0.00000000e+00f;
2795 U(
pm).m[1][3] = 0.00000000e+00f;
2796 U(
pm).m[2][3] = 0.00000000e+00f;
2797 U(
pm).m[3][3] = 1.00000000e+00f;
2799 exp_scale.
x = 9.99999583e-01f;
2800 exp_scale.
y = 1.99999940e+00f;
2801 exp_scale.
z = 2.99999928e+00f;
2803 exp_rotation.
x = 1.07431388e-08f;
2804 exp_rotation.
y = 6.93519890e-01f;
2805 exp_rotation.
z = 6.93519831e-01f;
2806 exp_rotation.
w = 1.95090622e-01f;
2808 exp_translation.
x = -5.0f;
2809 exp_translation.
y = 0.0f;
2810 exp_translation.
z = 10.0f;
2815 exp_rotation.
x = 0.0f;
2817 ok(
equal,
"Got unexpected quaternion {%.8e, %.8e, %.8e, %.8e}.\n",
2818 got_rotation.
x, got_rotation.
y, got_rotation.
z, got_rotation.
w);
2819 expect_vec3(&exp_translation, &got_translation, 0);
2823 U(
pm).m[0][0] = 0.7156004f;
2824 U(
pm).m[1][0] = -0.5098283f;
2825 U(
pm).m[2][0] = -0.4774843f;
2826 U(
pm).m[3][0] = -5.0f;
2827 U(
pm).m[0][1] = -0.6612288f;
2828 U(
pm).m[1][1] = -0.7147621f;
2829 U(
pm).m[2][1] = -0.2277977f;
2830 U(
pm).m[3][1] = 0.0f;
2831 U(
pm).m[0][2] = -0.2251499f;
2832 U(
pm).m[1][2] = 0.4787385f;
2833 U(
pm).m[2][2] = -0.8485972f;
2834 U(
pm).m[3][2] = 10.0f;
2835 U(
pm).m[0][3] = 0.0f;
2836 U(
pm).m[1][3] = 0.0f;
2837 U(
pm).m[2][3] = 0.0f;
2838 U(
pm).m[3][3] = 1.0f;
2840 exp_scale.
x = 9.99999940e-01f;
2841 exp_scale.
y = 1.00000012e+00f;
2842 exp_scale.
z = 1.00000012e+00f;
2844 exp_rotation.
x = 9.05394852e-01f;
2845 exp_rotation.
y = -3.23355347e-01f;
2846 exp_rotation.
z = -1.94013178e-01f;
2847 exp_rotation.
w = 1.95090592e-01f;
2849 exp_translation.
x = -5.0f;
2850 exp_translation.
y = 0.0f;
2851 exp_translation.
z = 10.0f;
2856 expect_vec3(&exp_translation, &got_translation, 0);
2860 U(
pm).m[0][0] = 0.06554436f;
2861 U(
pm).m[1][0] = -0.6873012f;
2862 U(
pm).m[2][0] = 0.7234092f;
2863 U(
pm).m[3][0] = -5.0f;
2864 U(
pm).m[0][1] = -0.9617381f;
2865 U(
pm).m[1][1] = -0.2367795f;
2866 U(
pm).m[2][1] = -0.1378230f;
2867 U(
pm).m[3][1] = 0.0f;
2868 U(
pm).m[0][2] = 0.2660144f;
2869 U(
pm).m[1][2] = -0.6866967f;
2870 U(
pm).m[2][2] = -0.6765233f;
2871 U(
pm).m[3][2] = 10.0f;
2872 U(
pm).m[0][3] = 0.0f;
2873 U(
pm).m[1][3] = 0.0f;
2874 U(
pm).m[2][3] = 0.0f;
2875 U(
pm).m[3][3] = 1.0f;
2877 exp_scale.
x = 9.99999940e-01f;
2878 exp_scale.
y = 9.99999940e-01f;
2879 exp_scale.
z = 9.99999881e-01f;
2881 exp_rotation.
x = 7.03357518e-01f;
2882 exp_rotation.
y = -5.86131275e-01f;
2883 exp_rotation.
z = 3.51678789e-01f;
2884 exp_rotation.
w = -1.95090577e-01f;
2886 exp_translation.
x = -5.0f;
2887 exp_translation.
y = 0.0f;
2888 exp_translation.
z = 10.0f;
2893 expect_vec3(&exp_translation, &got_translation, 0);
2897 U(
pm).m[0][0] = 7.12104797e+00f;
2898 U(
pm).m[1][0] = -5.88348627e+00f;
2899 U(
pm).m[2][0] = 1.18184204e+01f;
2900 U(
pm).m[3][0] = -5.00000000e+00f;
2901 U(
pm).m[0][1] = 5.88348627e+00f;
2902 U(
pm).m[1][1] = -1.06065865e+01f;
2903 U(
pm).m[2][1] = -8.82523251e+00f;
2904 U(
pm).m[3][1] = 0.00000000e+00f;
2905 U(
pm).m[0][2] = 1.18184204e+01f;
2906 U(
pm).m[1][2] = 8.82523155e+00f;
2907 U(
pm).m[2][2] = -2.72764111e+00f;
2908 U(
pm).m[3][2] = 2.00000000e+00f;
2909 U(
pm).m[0][3] = 0.00000000e+00f;
2910 U(
pm).m[1][3] = 0.00000000e+00f;
2911 U(
pm).m[2][3] = 0.00000000e+00f;
2912 U(
pm).m[3][3] = 1.00000000e+00f;
2914 exp_scale.
x = 1.49999933e+01f;
2915 exp_scale.
y = 1.49999933e+01f;
2916 exp_scale.
z = 1.49999943e+01f;
2918 exp_rotation.
x = 7.68714130e-01f;
2919 exp_rotation.
y = 0.00000000e+00f;
2920 exp_rotation.
z = 5.12475967e-01f;
2921 exp_rotation.
w = 3.82683903e-01f;
2923 exp_translation.
x = -5.0f;
2924 exp_translation.
y = 0.0f;
2925 exp_translation.
z = 2.0f;
2930 expect_vec3(&exp_translation, &got_translation, 0);
2934 U(
pm).m[0][0] = 0.0f;
2935 U(
pm).m[1][0] = 4.0f;
2936 U(
pm).m[2][0] = 5.0f;
2937 U(
pm).m[3][0] = -5.0f;
2938 U(
pm).m[0][1] = 0.0f;
2939 U(
pm).m[1][1] = -10.60660f;
2940 U(
pm).m[2][1] = -8.825232f;
2941 U(
pm).m[3][1] = 6.0f;
2942 U(
pm).m[0][2] = 0.0f;
2943 U(
pm).m[1][2] = 8.8252320f;
2944 U(
pm).m[2][2] = 2.727645;
2945 U(
pm).m[3][2] = 3.0f;
2946 U(
pm).m[0][3] = 0.0f;
2947 U(
pm).m[1][3] = 0.0f;
2948 U(
pm).m[2][3] = 0.0f;
2949 U(
pm).m[3][3] = 1.0f;
2961 rot_center.
x = 3.0f;
2962 rot_center.
y = 4.0f;
2967 sca_center.
x = 9.0f;
2968 sca_center.
y = -5.0f;
2977 U(exp_mat).m[0][0] = -4.245192f;
2978 U(exp_mat).m[1][0] = -0.147116f;
2979 U(exp_mat).m[2][0] = 0.0f;
2980 U(exp_mat).m[3][0] = 45.265373f;
2981 U(exp_mat).m[0][1] = 7.647113f;
2982 U(exp_mat).m[1][1] = 8.745192f;
2983 U(exp_mat).m[2][1] = 0.0f;
2984 U(exp_mat).m[3][1] = -13.401899f;
2985 U(exp_mat).m[0][2] = 0.0f;
2986 U(exp_mat).m[1][2] = 0.0f;
2987 U(exp_mat).m[2][2] = 1.0f;
2988 U(exp_mat).m[3][2] = 0.0f;
2989 U(exp_mat).m[0][3] = 0.0f;
2990 U(exp_mat).m[1][3] = 0.0f;
2991 U(exp_mat).m[2][3] = 0.0f;
2992 U(exp_mat).m[3][3] = 1.0f;
2999 sca_center.
x = 9.0f;
3000 sca_center.
y = -5.0f;
3009 U(exp_mat).m[0][0] = 0.50f;
3010 U(exp_mat).m[1][0] = -0.866025f;
3011 U(exp_mat).m[2][0] = 0.0f;
3012 U(exp_mat).m[3][0] = -6.0f;
3013 U(exp_mat).m[0][1] = 0.866025f;
3014 U(exp_mat).m[1][1] = 0.50f;
3015 U(exp_mat).m[2][1] = 0.0f;
3016 U(exp_mat).m[3][1] = 7.0f;
3017 U(exp_mat).m[0][2] = 0.0f;
3018 U(exp_mat).m[1][2] = 0.0f;
3019 U(exp_mat).m[2][2] = 1.0f;
3020 U(exp_mat).m[3][2] = 0.0f;
3021 U(exp_mat).m[0][3] = 0.0f;
3022 U(exp_mat).m[1][3] = 0.0f;
3023 U(exp_mat).m[2][3] = 0.0f;
3024 U(exp_mat).m[3][3] = 1.0f;
3031 U(exp_mat).m[0][0] = 0.50f;
3032 U(exp_mat).m[1][0] = -0.866025f;
3033 U(exp_mat).m[2][0] = 0.0f;
3034 U(exp_mat).m[3][0] = 0.0f;
3035 U(exp_mat).m[0][1] = 0.866025f;
3036 U(exp_mat).m[1][1] = 0.50f;
3037 U(exp_mat).m[2][1] = 0.0f;
3038 U(exp_mat).m[3][1] = 0.0f;
3039 U(exp_mat).m[0][2] = 0.0f;
3040 U(exp_mat).m[1][2] = 0.0f;
3041 U(exp_mat).m[2][2] = 1.0f;
3042 U(exp_mat).m[3][2] = 0.0f;
3043 U(exp_mat).m[0][3] = 0.0f;
3044 U(exp_mat).m[1][3] = 0.0f;
3045 U(exp_mat).m[2][3] = 0.0f;
3046 U(exp_mat).m[3][3] = 1.0f;
3054 D3DXPLANE inp_plane[5], out_plane[7], exp_plane[7];
3060 viewport.
Width = 800; viewport.
MinZ = 0.2f; viewport.
X = 10;
3061 viewport.
Height = 680; viewport.
MaxZ = 0.9f; viewport.
Y = 5;
3063 memset(out_vec, 0,
sizeof(out_vec));
3064 memset(exp_vec, 0,
sizeof(exp_vec));
3065 memset(out_plane, 0,
sizeof(out_plane));
3066 memset(exp_plane, 0,
sizeof(exp_plane));
3070 inp_plane[
i].
a = inp_plane[
i].
c = inp_vec[
i].
x = inp_vec[
i].
z =
i;
3075 1.0f, 2.0f, 3.0f, 4.0f,
3076 5.0f, 6.0f, 7.0f, 8.0f,
3077 9.0f, 10.0f, 11.0f, 12.0f,
3078 13.0f, 14.0f, 15.0f, 16.0f);
3082 U(
view).m[0][1] = 5.0f;
U(
view).m[0][2] = 7.0f;
U(
view).m[0][3] = 8.0f;
3083 U(
view).m[1][0] = 11.0f;
U(
view).m[1][2] = 16.0f;
U(
view).m[1][3] = 33.0f;
3084 U(
view).m[2][0] = 19.0f;
U(
view).m[2][1] = -21.0f;
U(
view).m[2][3] = 43.0f;
3085 U(
view).m[3][0] = 2.0f;
U(
view).m[3][1] = 3.0f;
U(
view).m[3][2] = -4.0f;
3086 U(
view).m[0][0] = 10.0f;
U(
view).m[1][1] = 20.0f;
U(
view).m[2][2] = 30.0f;
3087 U(
view).m[3][3] = -40.0f;
3090 21.0f, 2.0f, 3.0f, 4.0f,
3091 5.0f, 23.0f, 7.0f, 8.0f,
3092 -8.0f, -7.0f, 25.0f, -5.0f,
3093 -4.0f, -3.0f, -2.0f, 27.0f);
3096 exp_vec[1].
x = 6.78571403e-01f; exp_vec[1].
y = 7.85714269e-01f;
3097 exp_vec[2].
x = 6.53846204e-01f; exp_vec[2].
y = 7.69230783e-01f;
3098 exp_vec[3].
x = 6.25000000e-01f; exp_vec[3].
y = 7.50000000e-01f;
3099 exp_vec[4].
x = 5.90909123e-01f; exp_vec[4].
y = 7.27272749e-01f;
3100 exp_vec[5].
x = 5.49999952e-01f; exp_vec[5].
y = 6.99999928e-01f;
3106 exp_vec[1].
x = 25.0f; exp_vec[1].
y = 30.0f;
3107 exp_vec[2].
x = 21.0f; exp_vec[2].
y = 26.0f;
3108 exp_vec[3].
x = 17.0f; exp_vec[3].
y = 22.0f;
3109 exp_vec[4].
x = 13.0f; exp_vec[4].
y = 18.0f;
3110 exp_vec[5].
x = 9.0f; exp_vec[5].
y = 14.0f;
3116 exp_vec[1].
x = 6.78571403e-01f; exp_vec[1].
y = 7.85714269e-01f; exp_vec[1].
z = 8.92857075e-01f;
3117 exp_vec[2].
x = 6.71874940e-01f; exp_vec[2].
y = 7.81249940e-01f; exp_vec[2].
z = 8.90624940e-01f;
3118 exp_vec[3].
x = 6.66666627e-01f; exp_vec[3].
y = 7.77777731e-01f; exp_vec[3].
z = 8.88888836e-01f;
3119 exp_vec[4].
x = 6.62499964e-01f; exp_vec[4].
y = 7.74999976e-01f; exp_vec[4].
z = 8.87499928e-01f;
3120 exp_vec[5].
x = 6.59090877e-01f; exp_vec[5].
y = 7.72727251e-01f; exp_vec[5].
z = 8.86363566e-01f;
3126 exp_vec[1].
x = 25.0f; exp_vec[1].
y = 30.0f; exp_vec[1].
z = 35.0f;
3127 exp_vec[2].
x = 30.0f; exp_vec[2].
y = 36.0f; exp_vec[2].
z = 42.0f;
3128 exp_vec[3].
x = 35.0f; exp_vec[3].
y = 42.0f; exp_vec[3].
z = 49.0f;
3129 exp_vec[4].
x = 40.0f; exp_vec[4].
y = 48.0f; exp_vec[4].
z = 56.0f;
3130 exp_vec[5].
x = 45.0f; exp_vec[5].
y = 54.0f; exp_vec[5].
z = 63.0f;
3136 exp_vec[1].
x = 1.08955420e+03f; exp_vec[1].
y = -2.26590622e+02f; exp_vec[1].
z = 2.15272754e-01f;
3137 exp_vec[2].
x = 1.06890344e+03f; exp_vec[2].
y = 1.03085144e+02f; exp_vec[2].
z = 1.83049560e-01f;
3138 exp_vec[3].
x = 1.05177905e+03f; exp_vec[3].
y = 3.76462280e+02f; exp_vec[3].
z = 1.56329080e-01f;
3139 exp_vec[4].
x = 1.03734888e+03f; exp_vec[4].
y = 6.06827393e+02f; exp_vec[4].
z = 1.33812696e-01f;
3140 exp_vec[5].
x = 1.02502356e+03f; exp_vec[5].
y = 8.03591248e+02f; exp_vec[5].
z = 1.14580572e-01f;
3142 sizeof(*inp_vec), &viewport, &projection, &
view, &world,
ARRAY_SIZE(inp_vec));
3146 exp_vec[1].
x = -6.12403107e+00f; exp_vec[1].
y = 3.22536016e+00f; exp_vec[1].
z = 6.20571136e-01f;
3147 exp_vec[2].
x = -3.80710936e+00f; exp_vec[2].
y = 2.04657936e+00f; exp_vec[2].
z = 4.46894377e-01f;
3148 exp_vec[3].
x = -2.92283988e+00f; exp_vec[3].
y = 1.59668946e+00f; exp_vec[3].
z = 3.80609393e-01f;
3149 exp_vec[4].
x = -2.45622563e+00f; exp_vec[4].
y = 1.35928988e+00f; exp_vec[4].
z = 3.45631927e-01f;
3150 exp_vec[5].
x = -2.16789746e+00f; exp_vec[5].
y = 1.21259713e+00f; exp_vec[5].
z = 3.24018806e-01f;
3152 sizeof(*inp_vec), &viewport, &projection, &
view, &world,
ARRAY_SIZE(inp_vec));
3156 exp_vec[1].
x = 38.0f; exp_vec[1].
y = 44.0f; exp_vec[1].
z = 50.0f; exp_vec[1].
w = 56.0f;
3157 exp_vec[2].
x = 34.0f; exp_vec[2].
y = 40.0f; exp_vec[2].
z = 46.0f; exp_vec[2].
w = 52.0f;
3158 exp_vec[3].
x = 30.0f; exp_vec[3].
y = 36.0f; exp_vec[3].
z = 42.0f; exp_vec[3].
w = 48.0f;
3159 exp_vec[4].
x = 26.0f; exp_vec[4].
y = 32.0f; exp_vec[4].
z = 38.0f; exp_vec[4].
w = 44.0f;
3160 exp_vec[5].
x = 22.0f; exp_vec[5].
y = 28.0f; exp_vec[5].
z = 34.0f; exp_vec[5].
w = 40.0f;
3166 exp_vec[1].
x = 38.0f; exp_vec[1].
y = 44.0f; exp_vec[1].
z = 50.0f; exp_vec[1].
w = 56.0f;
3167 exp_vec[2].
x = 43.0f; exp_vec[2].
y = 50.0f; exp_vec[2].
z = 57.0f; exp_vec[2].
w = 64.0f;
3168 exp_vec[3].
x = 48.0f; exp_vec[3].
y = 56.0f; exp_vec[3].
z = 64.0f; exp_vec[3].
w = 72.0f;
3169 exp_vec[4].
x = 53.0f; exp_vec[4].
y = 62.0f; exp_vec[4].
z = 71.0f; exp_vec[4].
w = 80.0f;
3170 exp_vec[5].
x = 58.0f; exp_vec[5].
y = 68.0f; exp_vec[5].
z = 78.0f; exp_vec[5].
w = 88.0f;
3176 exp_vec[1].
x = 90.0f; exp_vec[1].
y = 100.0f; exp_vec[1].
z = 110.0f; exp_vec[1].
w = 120.0f;
3177 exp_vec[2].
x = 82.0f; exp_vec[2].
y = 92.0f; exp_vec[2].
z = 102.0f; exp_vec[2].
w = 112.0f;
3178 exp_vec[3].
x = 74.0f; exp_vec[3].
y = 84.0f; exp_vec[3].
z = 94.0f; exp_vec[3].
w = 104.0f;
3179 exp_vec[4].
x = 66.0f; exp_vec[4].
y = 76.0f; exp_vec[4].
z = 86.0f; exp_vec[4].
w = 96.0f;
3180 exp_vec[5].
x = 58.0f; exp_vec[5].
y = 68.0f; exp_vec[5].
z = 78.0f; exp_vec[5].
w = 88.0f;
3185 exp_plane[1].
a = 90.0f; exp_plane[1].
b = 100.0f; exp_plane[1].
c = 110.0f; exp_plane[1].
d = 120.0f;
3186 exp_plane[2].
a = 82.0f; exp_plane[2].
b = 92.0f; exp_plane[2].
c = 102.0f; exp_plane[2].
d = 112.0f;
3187 exp_plane[3].
a = 74.0f; exp_plane[3].
b = 84.0f; exp_plane[3].
c = 94.0f; exp_plane[3].
d = 104.0f;
3188 exp_plane[4].
a = 66.0f; exp_plane[4].
b = 76.0f; exp_plane[4].
c = 86.0f; exp_plane[4].
d = 96.0f;
3189 exp_plane[5].
a = 58.0f; exp_plane[5].
b = 68.0f; exp_plane[5].
c = 78.0f; exp_plane[5].
d = 88.0f;
3195 ok(
equal,
"Got unexpected plane {%.8e, %.8e, %.8e, %.8e} at index %u, expected {%.8e, %.8e, %.8e, %.8e}.\n",
3196 out_plane[
i].
a, out_plane[
i].
b, out_plane[
i].
c, out_plane[
i].
d,
i,
3197 exp_plane[
i].
a, exp_plane[
i].
b, exp_plane[
i].
c, exp_plane[
i].
d);
3222 WORD half_ver1, half_ver2;
3225 union convert single_out_ver1, single_out_ver2;
3229 { { 0x479c4000 }, 0x7c00, 0x7ce2, { 0x47800000 }, { 0x479c4000 } },
3230 { { 0x477fdf00 }, 0x7bff, 0x7bff, { 0x477fe000 }, { 0x477fe000 } },
3231 { { 0x477fe000 }, 0x7bff, 0x7bff, { 0x477fe000 }, { 0x477fe000 } },
3232 { { 0x477ff000 }, 0x7bff, 0x7c00, { 0x477fe000 }, { 0x47800000 } },
3233 { { 0x477ff100 }, 0x7c00, 0x7c00, { 0x47800000 }, { 0x47800000 } },
3235 { { 0x477ffe00 }, 0x7c00, 0x7c00, { 0x47800000 }, { 0x47800000 } },
3236 { { 0x477fff00 }, 0x7c00, 0x7c00, { 0x47800000 }, { 0x47800000 } },
3237 { { 0x47800000 }, 0x7c00, 0x7c00, { 0x47800000 }, { 0x47800000 } },
3238 { { 0xc79c4000 }, 0xfc00, 0xfce2, { 0xc7800000 }, { 0xc79c4000 } },
3239 { { 0xc77fdf00 }, 0xfbff, 0xfbff, { 0xc77fe000 }, { 0xc77fe000 } },
3241 { { 0xc77fe000 }, 0xfbff, 0xfbff, { 0xc77fe000 }, { 0xc77fe000 } },
3242 { { 0xc77ff000 }, 0xfbff, 0xfc00, { 0xc77fe000 }, { 0xc7800000 } },
3243 { { 0xc77ff100 }, 0xfc00, 0xfc00, { 0xc7800000 }, { 0xc7800000 } },
3244 { { 0xc77ffe00 }, 0xfc00, 0xfc00, { 0xc7800000 }, { 0xc7800000 } },
3245 { { 0xc77fff00 }, 0xfc00, 0xfc00, { 0xc7800000 }, { 0xc7800000 } },
3247 { { 0xc7800000 }, 0xfc00, 0xfc00, { 0xc7800000 }, { 0xc7800000 } },
3248 { { 0x7f800000 }, 0x7c00, 0x7fff, { 0x47800000 }, { 0x47ffe000 } },
3249 { { 0xff800000 }, 0xffff, 0xffff, { 0xc7ffe000 }, { 0xc7ffe000 } },
3250 { { 0x7fc00000 }, 0x7fff, 0xffff, { 0x47ffe000 }, { 0xc7ffe000 } },
3251 { { 0xffc00000 }, 0xffff, 0xffff, { 0xc7ffe000 }, { 0xc7ffe000 } },
3253 { { 0x00000000 }, 0x0000, 0x0000, { 0x00000000 }, { 0x00000000 } },
3254 { { 0x80000000 }, 0x8000, 0x8000, { 0x80000000 }, { 0x80000000 } },
3255 { { 0x330007ff }, 0x0000, 0x0000, { 0x00000000 }, { 0x00000000 } },
3256 { { 0xb30007ff }, 0x8000, 0x8000, { 0x80000000 }, { 0x80000000 } },
3257 { { 0x33000800 }, 0x0001, 0x0000, { 0x33800000 }, { 0x00000000 } },
3259 { { 0xb3000800 }, 0x8001, 0x8000, { 0xb3800000 }, { 0x80000000 } },
3260 { { 0x33c00000 }, 0x0002, 0x0001, { 0x34000000 }, { 0x33800000 } },
3265 ok(
out == &half,
"Got %p, expected %p.\n",
out, &half);
3268 ok(
out == &single.f,
"Got %p, expected %p.\n",
out, &single.f);
3273 ok(
out == &half,
"Got %p, expected %p.\n",
out, &half);
3275 "Got %x, expected %x or %x for index %d.\n", half.
value,
testdata[
i].half_ver1,
3279 ok(
out == &single.f,
"Got %p, expected %p.\n",
out, &single.f);
3281 ok(
equal,
"Got %#x, expected %#x at index %u.\n", single.d,
testdata[
i].single_out_ver1.d,
i);
3284 ok(
out == &single.f,
"Got %p, expected %p.\n",
out, &single.f);
3286 ok(
equal,
"Got %#x, expected %#x at index %u.\n", single.d,
testdata[
i].single_out_ver2.d,
i);
3292 float out[50] = {0.0f};
3297 static const float in1[50] =
3299 1.11f, 1.12f, 1.13f, 1.14f, 1.15f, 1.16f, 1.17f, 1.18f,
3300 1.19f, 1.20f, 1.21f, 1.22f, 1.23f, 1.24f, 1.25f, 1.26f,
3301 1.27f, 1.28f, 1.29f, 1.30f, 1.31f, 1.32f, 1.33f, 1.34f,
3302 1.35f, 1.36f, 1.37f, 1.38f, 1.39f, 1.40f, 1.41f, 1.42f,
3303 1.43f, 1.44f, 1.45f, 1.46f, 1.47f, 1.48f, 1.49f, 1.50f,
3304 1.51f, 1.52f, 1.53f, 1.54f, 1.55f, 1.56f, 1.57f, 1.58f,
3307 static const float in2[50] =
3309 2.11f, 2.12f, 2.13f, 2.14f, 2.15f, 2.16f, 2.17f, 2.18f,
3310 2.19f, 2.20f, 2.21f, 2.22f, 2.23f, 2.24f, 2.25f, 2.26f,
3311 2.27f, 2.28f, 2.29f, 2.30f, 2.31f, 2.32f, 2.33f, 2.34f,
3312 2.35f, 2.36f, 2.37f, 2.38f, 2.39f, 2.40f, 2.41f, 2.42f,
3313 2.43f, 2.44f, 2.45f, 2.46f, 2.47f, 2.48f, 2.49f, 2.50f,
3314 2.51f, 2.52f, 2.53f, 2.54f, 2.55f, 2.56f, 2.57f, 2.58f,
3328 ok(
ret ==
out,
"%u: D3DXSHAdd() failed, got %p, expected %p\n",
k,
out,
ret);
3333 ok(
equal,
"%u-%u: Got %.8e, expected %.8e.\n",
k,
i,
out[
i], in1[
i] + in2[
i]);
3342 float a[49],
b[49], got;
3346 static const float expected[] = {0.5f, 0.5f, 25.0f, 262.5f, 1428.0f, 5362.5f, 15873.0f, 39812.5f};
3365 float bout[49],
expected, gout[49], rout[49];
3371 static const float table[] =
3374 1.604815f, -3.131381f, 7.202175f, -2.870432f, 6.759296f, -16.959688f,
3375 32.303082f, -15.546381f, -0.588878f, -5.902123f, 40.084042f, -77.423569f,
3376 137.556320f, -70.971603f, -3.492171f, 7.683092f, -2.129311f, -35.971344f,
3377 183.086548f, -312.414948f, 535.091064f, -286.380371f, -15.950727f, 46.825714f,
3378 -12.127637f, 11.289261f, -12.417809f, -155.039566f, 681.182556f, -1079.733643f,
3379 1807.650513f, -989.755798f, -59.345467f, 201.822815f, -70.726486f, 7.206529f,
3381 3.101155f, -3.128710f, 7.196033f, -2.867984f, -0.224708f, 0.563814f,
3382 -1.073895f, 0.516829f, 0.019577f, 2.059788f, -13.988971f, 27.020128f,
3383 -48.005917f, 24.768450f, 1.218736f, -2.681329f, -0.088639f, -1.497410f,
3384 7.621501f, -13.005165f, 22.274696f, -11.921401f, -0.663995f, 1.949254f,
3385 -0.504848f, 4.168484f, -4.585193f, -57.247314f, 251.522095f, -398.684387f,
3386 667.462891f, -365.460693f, -21.912912f, 74.521721f, -26.115280f, 2.660963f,
3388 2.454422f, -4.789170f, 11.015091f, -4.390072f, 10.337747f, -25.938347f,
3389 49.404713f, -23.776817f, -0.900637f, -9.026776f, 61.305000f, -118.412514f,
3390 210.380249f, -108.544792f, -5.340967f, 11.750610f, -3.256593f, -55.014996f,
3391 280.014709f, -477.811066f, 818.374512f, -437.993469f, -24.395227f, 71.615799f,
3392 -18.548151f, 17.265928f, -18.991943f, -237.119324f, 1041.808594f, -1651.357300f,
3393 2764.642090f, -1513.744141f, -90.763657f, 308.670197f, -108.169922f, 11.021750f,
3395 4.742942f, -4.785086f, 11.005697f, -4.386329f, -0.343672f, 0.862303f,
3396 -1.642427f, 0.790444f, 0.029941f, 3.150264f, -21.394896f, 41.324898f,
3397 -73.420807f, 37.881153f, 1.863950f, -4.100857f, -0.135565f, -2.290156f,
3398 11.656413f, -19.890251f, 34.067181f, -18.232729f, -1.015521f, 2.981212f,
3399 -0.772120f, 6.375328f, -7.012648f, -87.554710f, 384.680817f, -609.752563f,
3400 1020.825500f, -558.939819f, -33.513863f, 113.974388f, -39.941013f, 4.069707f,
3402 3.304030f, -6.446959f, 14.828006f, -5.909713f, 13.916198f, -34.917004f,
3403 66.506340f, -32.007256f, -1.212396f, -12.151429f, 82.525963f, -159.401459f,
3404 283.204193f, -146.117996f, -7.189764f, 15.818130f, -4.383876f, -74.058655f,
3405 376.942871f, -643.207214f, 1101.658081f, -589.606628f, -32.839729f, 96.405884f,
3406 -24.968664f, 23.242596f, -25.566080f, -319.199097f, 1402.434692f, -2222.980957f,
3407 3721.633545f, -2037.732544f, -122.181847f, 415.517578f, -145.613358f, 14.836972f,
3409 6.384730f, -6.441462f, 14.815362f, -5.904673f, -0.462635f, 1.160793f,
3410 -2.210959f, 1.064060f, 0.040305f, 4.240739f, -28.800821f, 55.629673f,
3411 -98.835709f, 50.993862f, 2.509163f, -5.520384f, -0.182491f, -3.082903f,
3412 15.691326f, -26.775339f, 45.859665f, -24.544060f, -1.367048f, 4.013170f,
3413 -1.039392f, 8.582172f, -9.440103f, -117.862114f, 517.839600f, -820.820740f,
3414 1374.188232f, -752.419067f, -45.114819f, 153.427063f, -53.766754f, 5.478452f, };
3417 float *red_received, *green_received, *blue_received;
3418 const float *red_expected, *green_expected, *blue_expected;
3419 float radius, roffset, goffset, boffset;
3423 { rout, gout, bout,
table, &
table[72], &
table[144], 0.5f, 1.01f, 1.02f, 1.03f, },
3424 { rout, gout, bout, &
table[36], &
table[108], &
table[180], 1.6f, 1.01f, 1.02f, 1.03f, },
3425 { rout, rout, rout, &
table[144], &
table[144], &
table[144], 0.5f, 1.03f, 1.03f, 1.03f, },
3426 { rout, rout, bout, &
table[72], &
table[72], &
table[144], 0.5, 1.02f, 1.02f, 1.03f, },
3427 { rout, gout, gout,
table, &
table[144], &
table[144], 0.5f, 1.01f, 1.03f, 1.03f, },
3428 { rout, gout, rout, &
table[144], &
table[72], &
table[144], 0.5f, 1.03f, 1.02f, 1.03f, },
3430 { rout,
NULL, bout,
table,
NULL, &
table[144], 0.5f, 1.01f, 0.0f, 1.03f, },
3431 { rout, gout,
NULL,
table, &
table[72],
NULL, 0.5f, 1.01f, 1.02f, 0.0f, },
3432 { rout,
NULL,
NULL,
table,
NULL,
NULL, 0.5f, 1.01f, 0.0f, 0.0f, },
3435 dir.x = 1.1f;
dir.y = 1.2f;
dir.z = 2.76f;
3441 for (
j = 0;
j < 49;
j++)
3443 test[
l].red_received[
j] = 1.01f +
j;
3444 if (
test[
l].green_received)
3445 test[
l].green_received[
j] = 1.02f +
j;
3446 if (
test[
l].blue_received)
3447 test[
l].blue_received[
j] = 1.03f +
j;
3453 for (
j = 0;
j < 49;
j++)
3460 ok(
equal,
"Red: case %u, order %u: expected[%u] = %.8e, received %.8e.\n",
3463 if (
test[
l].green_received)
3470 ok(
equal,
"Green: case %u, order %u: expected[%u] = %.8e, received %.8e.\n",
3474 if (
test[
l].blue_received)
3481 ok(
equal,
"Blue: case %u, order %u: expected[%u] = %.8e, received %.8e.\n",
3493 for (
j = 0;
j < 49;
j++)
3495 rout[
j] = 1.01f +
j;
3496 gout[
j] = 1.02f +
j;
3497 bout[
j] = 1.03f +
j;
3507 for (
j = 0;
j < 49;
j++)
3510 ok(
equal,
"Red: case %u, order %u: expected[%u] = %.8e, received %.8e.\n",
3514 ok(
equal,
"Green: case %u, order %u: expected[%u] = %.8e, received %.8e.\n",
3518 ok(
equal,
"Blue: case %u, order %u: expected[%u] = %.8e, received %.8e.\n",
3539 static const float table[36] =
3541 2.82094806e-01f, -9.77205038e-01f, 1.46580756e+00f, -4.88602519e-01f, 2.18509698e+00f, -6.55529118e+00f,
3542 8.20018101e+00f, -3.27764559e-00f, -1.63882279e+00f, 1.18008721e+00f, 1.73436680e+01f, -4.02200317e+01f,
3543 4.70202179e+01f, -2.01100159e+01f, -1.30077515e+01f, 6.49047947e+00f, -1.50200577e+01f, 1.06207848e+01f,
3544 1.17325661e+02f, -2.40856750e+02f, 2.71657288e+02f, -1.20428375e+02f, -8.79942474e+01f, 5.84143143e+01f,
3545 -4.38084984e+00f, 2.49425201e+01f, -1.49447693e+02f, 7.82781296e+01f, 7.47791748e+02f, -1.42768787e+03f,
3546 1.57461914e+03f, -7.13843933e+02f, -5.60843811e+02f, 4.30529724e+02f, -4.35889091e+01f, -2.69116650e+01f,
3549 d.x = 1.0;
d.y = 2.0f;
d.z = 3.0f;
3557 ok(received_ptr ==
a,
"Expected %p, received %p\n",
a, received_ptr);
3570 ok(
equal,
"order %u, index %u: Got unexpected result %.8e, expected %.8e.\n",
3578 float *blue_out, bout[49],
expected, gout[49], *green_out, *red_out, rout[49];
3579 unsigned int j,
l,
order, startindex;
3584 static const float table[] =
3587 2.008781f, -4.175174f, 9.602900f, -3.827243f, 1.417963f, -2.947181f,
3588 6.778517f, -2.701583f, 7.249108f, -18.188671f, 34.643921f, -16.672949f,
3589 -0.631551f, 1.417963f, -2.947181f, 6.778517f, -2.701583f, 7.249108f,
3590 -18.188671f, 34.643921f, -16.672949f, -0.631551f, -7.794341f, 52.934967f,
3591 -102.245529f, 181.656815f, -93.725060f, -4.611760f, 10.146287f, 1.555186f,
3592 -3.232392f, 7.434503f, -2.963026f, 7.950634f, -19.948866f, 37.996559f,
3593 -18.286459f, -0.692669f, -8.548632f, 58.057705f, -112.140251f, 199.236496f,
3594 -102.795227f, -5.058059f, 11.128186f, -4.189955f, -70.782669f, 360.268829f,
3595 -614.755005f, 1052.926270f, -563.525391f, -31.387066f, 92.141365f, -23.864176f,
3596 1.555186f, -3.232392f, 7.434503f, -2.963026f, 7.950634f, -19.948866f,
3597 37.996559f, -18.286459f, -0.692669f, -8.548632f, 58.057705f, -112.140251f,
3598 199.236496f, -102.795227f, -5.058059f, 11.128186f, -4.189955f, -70.782669f,
3599 360.268829f, -614.755005f, 1052.926270f, -563.525391f, -31.387066f, 92.141365f,
3600 -23.864176f, 34.868664f, -38.354366f, -478.864166f, 2103.939941f, -3334.927734f,
3601 5583.213867f, -3057.017090f, -183.297836f, 623.361633f, -218.449921f, 22.258503f,
3603 3.072254f, -6.385560f, 14.686787f, -5.853429f, 2.168650f, -4.507453f,
3604 10.367143f, -4.131832f, 11.086870f, -27.817965f, 52.984818f, -25.499800f,
3605 -0.965902f, 2.168650f, -4.507453f, 10.367143f, -4.131832f, 11.086870f,
3606 -27.817965f, 52.984818f, -25.499800f, -0.965902f, -11.920755f, 80.959351f,
3607 -156.375488f, 277.828033f, -143.344193f, -7.053278f, 15.517849f, 2.378519f,
3608 -4.943659f, 11.370415f, -4.531687f, 12.159794f, -30.510029f, 58.112385f,
3609 -27.967525f, -1.059376f, -13.074378f, 88.794136f, -171.508621f, 304.714630f,
3610 -157.216217f, -7.735855f, 17.019577f, -6.408166f, -108.255844f, 550.999390f,
3611 -940.213501f, 1610.357788f, -861.862305f, -48.003746f, 140.922089f, -36.498150f,
3612 2.378519f, -4.943659f, 11.370415f, -4.531687f, 12.159794f, -30.510029f,
3613 58.112385f, -27.967525f, -1.059376f, -13.074378f, 88.794136f, -171.508621f,
3614 304.714630f, -157.216217f, -7.735855f, 17.019577f, -6.408166f, -108.255844f,
3615 550.999390f, -940.213501f, 1610.357788f, -861.862305f, -48.003746f, 140.922089f,
3616 -36.498150f, 53.328545f, -58.659618f, -732.380493f, 3217.790283f, -5100.477539f,
3617 8539.033203f, -4675.437500f, -280.337860f, 953.376587f, -334.099884f, 34.042416f,
3619 4.135726f, -8.595945f, 19.770674f, -7.879617f, 2.919336f, -6.067726f,
3620 13.955770f, -5.562082f, 14.924634f, -37.447262f, 71.325722f, -34.326656f,
3621 -1.300252f, 2.919336f, -6.067726f, 13.955770f, -5.562082f, 14.924634f,
3622 -37.447262f, 71.325722f, -34.326656f, -1.300252f, -16.047173f, 108.983749f,
3623 -210.505493f, 373.999298f, -192.963348f, -9.494799f, 20.889414f, 3.201853f,
3624 -6.654925f, 15.306328f, -6.100348f, 16.368954f, -41.071194f, 78.228210f,
3625 -37.648590f, -1.426083f, -17.600124f, 119.530563f, -230.876984f, 410.192780f,
3626 -211.637222f, -10.413651f, 22.910971f, -8.626378f, -145.729019f, 741.729919f,
3627 -1265.671997f, 2167.789307f, -1160.199219f, -64.620430f, 189.702820f, -49.132126f,
3628 3.201853f, -6.654925f, 15.306328f, -6.100348f, 16.368954f, -41.071194f,
3629 78.228210f, -37.648590f, -1.426083f, -17.600124f, 119.530563f, -230.876984f,
3630 410.192780f, -211.637222f, -10.413651f, 22.910971f, -8.626378f, -145.729019f,
3631 741.729919f, -1265.671997f, 2167.789307f, -1160.199219f, -64.620430f, 189.702820f,
3632 -49.132126f, 71.788422f, -78.964867f, -985.896790f, 4331.640625f, -6866.027344f,
3633 11494.852539f, -6293.858398f, -377.377899f, 1283.391479f, -449.749817f, 45.826328f, };
3636 float *red_in, *green_in, *blue_in;
3637 const float *red_out, *green_out, *blue_out;
3638 float roffset, goffset, boffset;
3642 { rout, gout, bout,
table, &
table[90], &
table[180], 1.01f, 1.02f, 1.03f, },
3643 { rout, rout, rout, &
table[180], &
table[180], &
table[180], 1.03f, 1.03f, 1.03f, },
3644 { rout, rout, bout, &
table[90], &
table[90], &
table[180], 1.02f, 1.02f, 1.03f, },
3645 { rout, gout, gout,
table, &
table[180], &
table[180], 1.01f, 1.03f, 1.03f, },
3646 { rout, gout, rout, &
table[180], &
table[90], &
table[180], 1.03f, 1.02f, 1.03f, },
3648 { rout,
NULL, bout,
table,
NULL, &
table[180], 1.01f, 0.0f, 1.03f, },
3649 { rout, gout,
NULL,
table, &
table[90],
NULL, 1.01f, 1.02f, 0.0f, },
3650 { rout,
NULL,
NULL,
table,
NULL,
NULL, 1.01f, 0.0f, 0.0f, },
3653 dir.x = 1.1f;
dir.y= 1.2f;
dir.z = 2.76f;
3661 red_out =
test[
l].red_in;
3662 green_out =
test[
l].green_in;
3663 blue_out =
test[
l].blue_in;
3667 red_out[
j] = 1.01f +
j;
3669 green_out[
j] = 1.02f +
j;
3671 blue_out[
j] = 1.03f +
j;
3684 ok(
equal,
"Red: case %u, order %u: expected[%u] = %.8e, received %.8e.\n",
3694 ok(
equal,
"Green: case %u, order %u: expected[%u] = %.8e, received %.8e.\n",
3705 ok(
equal,
"Blue: case %u, order %u: expected[%u] = %.8e, received %.8e.\n",
3725 float bout[49],
expected, gout[49], rout[49];
3732 static const float table[] =
3735 23.422981f, 15.859521f, -36.476898f, 14.537894f,
3737 19.966694f, 6.096982f, -14.023058f, 5.588900f,
3739 24.566214f, 8.546826f, -19.657701f, 7.834591f,
3743 float *red_received, *green_received, *blue_received;
3744 const float *red_expected, *green_expected, *blue_expected;
3745 const float roffset, goffset, boffset;
3749 { rout, gout, bout,
table, &
table[4], &
table[8], 1.01f, 1.02f, 1.03f, },
3750 { rout, rout, rout, &
table[8], &
table[8], &
table[8], 1.03f, 1.03f, 1.03f, },
3751 { rout, rout, bout, &
table[4], &
table[4], &
table[8], 1.02f, 1.02f, 1.03f, },
3752 { rout, gout, gout,
table, &
table[8], &
table[8], 1.01f, 1.03f, 1.03f, },
3753 { rout, gout, rout, &
table[8], &
table[4], &
table[8], 1.03f, 1.02f, 1.03f, },
3755 { rout,
NULL, bout,
table,
NULL, &
table[8], 1.01f, 1.02f, 1.03f, },
3756 { rout, gout,
NULL,
table, &
table[4],
NULL, 1.01f, 1.02f, 1.03f, },
3757 { rout,
NULL,
NULL,
table,
NULL,
NULL, 1.01f, 1.02f, 1.03f, },
3760 dir.x = 1.1f;
dir.y = 1.2f;
dir.z = 2.76f;
3761 top.r = 0.1f;
top.g = 2.1f;
top.b = 2.3f;
top.a = 4.3f;
3767 for (
j = 0;
j < 49;
j++)
3769 test[
l].red_received[
j] = 1.01f +
j;
3770 if (
test[
l].green_received)
3771 test[
l].green_received[
j] = 1.02f +
j;
3772 if (
test[
l].blue_received)
3773 test[
l].blue_received[
j] = 1.03f +
j;
3779 for (
j = 0;
j < 49;
j++)
3788 ok(
equal,
"Red: case %u, order %u: expected[%u] = %.8e, received %.8e.\n",
3791 if (
test[
l].green_received)
3800 ok(
equal,
"Green: case %u, order %u: expected[%u] = %.8e, received %.8e.\n",
3804 if (
test[
l].blue_received)
3813 ok(
equal,
"Blue: case %u, order %u: expected[%u] = %.8e, received %.8e.\n",
3822 float bout[49],
expected, gout[49], rout[49];
3828 static const float table[] =
3831 3.01317163e+00f, -9.77240128e-01f, 2.24765220e+00f, -8.95803434e-01f, 3.25255224e-35f, -8.16094904e-35f,
3832 8.95199460e-35f, -7.48086982e-35f, -2.83366352e-36f, 6.29281376e-02f, -4.27374053e-01f, 6.19212543e-01f,
3833 -3.04508915e-01f, 5.67611487e-01f, 3.72333533e-02f, -8.19167317e-02f, 1.25205729e-36f, 2.11515287e-35f,
3834 -8.85884025e-35f, 8.22100105e-35f, -1.41290744e-37f, 7.53591749e-35f, 7.71793061e-36f, -2.75340121e-35f,
3835 7.13117824e-36f, 1.24992691e-02f, -1.37487792e-02f, -1.48109290e-01f, 4.34345843e-01f, -2.45986100e-01f,
3836 -1.51757946e-01f, -2.25487254e-01f, -3.78407442e-02f, 1.92801335e-01f, -7.83071154e-02f, 7.97894137e-03f,
3838 4.02519645e-01f, -2.43653315e-01f, 5.60402600e-01f, -2.23348868e-01f, 1.62046875e-01f, -4.06590330e-01f,
3839 4.46001368e-01f, -3.72707796e-01f, -1.41177231e-02f, -4.31995198e-02f, 2.93387896e-01f, -4.25083048e-01f,
3840 2.09042241e-01f, -3.89659453e-01f, -2.55603144e-02f, 5.62349945e-02f, -4.68822967e-03f, -7.92002290e-02f,
3841 3.31712278e-01f, -3.07828893e-01f, 5.29052032e-04f, -2.82176480e-01f, -2.88991817e-02f, 1.03098934e-01f,
3842 -2.67021338e-02f, 7.24339502e-03f, -7.96749298e-03f, -8.58301461e-02f, 2.51705799e-01f, -1.42550295e-01f,
3843 -8.79445626e-02f, -1.30671101e-01f, -2.19289189e-02f, 1.11729432e-01f, -4.53794030e-02f, 4.62384030e-03f,
3845 1.95445306e+00f, -8.56593659e-01f, 1.97016533e+00f, -7.85210840e-01f, 2.31033385e-01f, -5.79683751e-01f,
3846 6.35872835e-01f, -5.31376762e-01f, -2.01279127e-02f, 2.11104646e-02f, -1.43370917e-01f, 2.07726860e-01f,
3847 -1.02153423e-01f, 1.90416285e-01f, 1.24906507e-02f, -2.74805568e-02f, 6.33162467e-03f, 1.06962790e-01f,
3848 -4.47989495e-01f, 4.15734115e-01f, -7.14504011e-04f, 3.81089599e-01f, 3.90293960e-02f, -1.39238860e-01f,
3849 3.60622028e-02f, -4.47359268e-03f, 4.92080277e-03f, 5.30095505e-02f, -1.55456001e-01f, 8.80404774e-02f,
3850 5.43154350e-02f, 8.07037695e-02f, 1.35435180e-02f, -6.90052063e-02f, 2.80267699e-02f, -2.85572968e-03f,
3852 4.60837984e+00f, -1.49460245e+00f, 3.43758549e+00f, -1.37005222e+00f, 4.97449134e-35f, -1.24814507e-34f,
3853 1.36912850e-34f, -1.14413296e-34f, -4.33383805e-36f, 9.62430278e-02f, -6.53630863e-01f, 9.47030887e-01f,
3854 -4.65719486e-01f, 8.68111630e-01f, 5.69451249e-02f, -1.25284405e-01f, 1.91491103e-36f, 3.23493947e-35f,
3855 -1.35488136e-34f, 1.25732949e-34f, -2.16091711e-37f, 1.15255201e-34f, 1.18038931e-35f, -4.21108392e-35f,
3856 1.09065072e-35f, 1.91165280e-02f, -2.10275433e-02f, -2.26520076e-01f, 6.64293599e-01f, -3.76214011e-01f,
3857 -2.32100374e-01f, -3.44862837e-01f, -5.78740756e-02f, 2.94872611e-01f, -1.19763816e-01f, 1.22030860e-02f,
3859 6.15618240e-01f, -3.72646222e-01f, 8.57086273e-01f, -3.41592364e-01f, 2.47836381e-01f, -6.21843994e-01f,
3860 6.82119695e-01f, -5.70023651e-01f, -2.15918104e-02f, -6.60698496e-02f, 4.48710870e-01f, -6.50126972e-01f,
3861 3.19711642e-01f, -5.95949713e-01f, -3.90922430e-02f, 8.60064566e-02f, -7.17023314e-03f, -1.21129754e-01f,
3862 5.07324627e-01f, -4.70797100e-01f, 8.09138350e-04f, -4.31564000e-01f, -4.41987457e-02f, 1.57680712e-01f,
3863 -4.08385549e-02f, 1.10781328e-02f, -1.21855767e-02f, -1.31269627e-01f, 3.84961785e-01f, -2.18018084e-01f,
3864 -1.34503440e-01f, -1.99849906e-01f, -3.35383443e-02f, 1.70880296e-01f, -6.94037884e-02f, 7.07175529e-03f,
3866 2.98916331e+00f, -1.31008433e+00f, 3.01319384e+00f, -1.20091062e+00f, 3.53345154e-01f, -8.86575090e-01f,
3867 9.72511332e-01f, -8.12693818e-01f, -3.07838645e-02f, 3.22865908e-02f, -2.19273153e-01f, 3.17699883e-01f,
3868 -1.56234637e-01f, 2.91224888e-01f, 1.91033469e-02f, -4.20290842e-02f, 9.68366064e-03f, 1.63590138e-01f,
3869 -6.85160360e-01f, 6.35828606e-01f, -1.09277077e-03f, 5.82842878e-01f, 5.96920135e-02f, -2.12953537e-01f,
3870 5.51539537e-02f, -6.84196484e-03f, 7.52593316e-03f, 8.10734249e-02f, -2.37756221e-01f, 1.34650133e-01f,
3871 8.30706600e-02f, 1.23429287e-01f, 2.07136145e-02f, -1.05537368e-01f, 4.28644688e-02f, -4.36758628e-03f,
3873 6.20358848e+00f, -2.01196491e+00f, 4.62751910e+00f, -1.84430114e+00f, 6.69643089e-35f, -1.68019534e-34f,
3874 1.84305766e-34f, -1.54017904e-34f, -5.83401297e-36f, 1.29557927e-01f, -8.79887732e-01f, 1.27484932e+00f,
3875 -6.26930101e-01f, 1.16861185e+00f, 7.66569017e-02f, -1.68652090e-01f, 2.57776494e-36f, 4.35472637e-35f,
3876 -1.82387882e-34f, 1.69255899e-34f, -2.90892699e-37f, 1.55151238e-34f, 1.58898567e-35f, -5.66876703e-35f,
3877 1.46818371e-35f, 2.57337886e-02f, -2.83063093e-02f, -3.04930882e-01f, 8.94241416e-01f, -5.06441957e-01f,
3878 -3.12442822e-01f, -4.64238452e-01f, -7.79074123e-02f, 3.96943914e-01f, -1.61220527e-01f, 1.64272318e-02f,
3880 8.28716892e-01f, -5.01639163e-01f, 1.15377003e+00f, -4.59835891e-01f, 3.33625909e-01f, -8.37097715e-01f,
3881 9.18238085e-01f, -7.67339558e-01f, -2.90658997e-02f, -8.89401854e-02f, 6.04033886e-01f, -8.75170956e-01f,
3882 4.30381072e-01f, -8.02240028e-01f, -5.26241753e-02f, 1.15777927e-01f, -9.65223728e-03f, -1.63059290e-01f,
3883 6.82937023e-01f, -6.33765350e-01f, 1.08922474e-03f, -5.80951560e-01f, -5.94983136e-02f, 2.12262505e-01f,
3884 -5.49749798e-02f, 1.49128717e-02f, -1.64036616e-02f, -1.76709119e-01f, 5.18217807e-01f, -2.93485893e-01f,
3885 -1.81062330e-01f, -2.69028730e-01f, -4.51477729e-02f, 2.30031176e-01f, -9.34281801e-02f, 9.51967094e-03f,
3887 4.02387383e+00f, -1.76357513e+00f, 4.05622263e+00f, -1.61661051e+00f, 4.75656955e-01f, -1.19346651e+00f,
3888 1.30914992e+00f, -1.09401095e+00f, -4.14398191e-02f, 4.34627200e-02f, -2.95175409e-01f, 4.27672935e-01f,
3889 -2.10315865e-01f, 3.92033517e-01f, 2.57160448e-02f, -5.65776154e-02f, 1.30356975e-02f, 2.20217502e-01f,
3890 -9.22331288e-01f, 8.55923154e-01f, -1.47103763e-03f, 7.84596211e-01f, 8.03546365e-02f, -2.86668233e-01f,
3891 7.42457096e-02f, -9.21033762e-03f, 1.01310642e-02f, 1.09137307e-01f, -3.20056463e-01f, 1.81259801e-01f,
3892 1.11825893e-01f, 1.66154815e-01f, 2.78837128e-02f, -1.42069538e-01f, 5.77021717e-02f, -5.87944329e-03f,
3896 float *red_received, *green_received, *blue_received;
3897 const float *red_expected, *green_expected, *blue_expected;
3898 float radius, roffset, goffset, boffset;
3902 { rout, gout, bout,
table, &
table[108], &
table[216], 17.4f, 1.01f, 1.02f, 1.03f, },
3903 { rout, gout, bout, &
table[36], &
table[144], &
table[252], 1.6f, 1.01f, 1.02f, 1.03f, },
3904 { rout, gout, bout, &
table[72], &
table[180], &
table[288], -3.0f, 1.01f, 1.02f, 1.03f, },
3905 { rout, rout, rout, &
table[216], &
table[216], &
table[216], 17.4f, 1.03f, 1.03f, 1.03f, },
3906 { rout, rout, bout, &
table[108], &
table[108], &
table[216], 17.4, 1.02f, 1.02f, 1.03f, },
3907 { rout, gout, gout,
table, &
table[216], &
table[216], 17.4f, 1.01f, 1.03f, 1.03f, },
3908 { rout, gout, rout, &
table[216], &
table[108], &
table[216], 17.4f, 1.03f, 1.02f, 1.03f, },
3910 { rout,
NULL, bout,
table,
NULL, &
table[216], 17.4f, 1.01f, 0.0f, 1.03f, },
3911 { rout, gout,
NULL,
table, &
table[108],
NULL, 17.4f, 1.01f, 1.02f, 0.0f, },
3912 { rout,
NULL,
NULL,
table,
NULL,
NULL, 17.4f, 1.01f, 0.0f, 0.0f, },
3915 dir.x = 1.1f;
dir.y = 1.2f;
dir.z = 2.76f;
3921 for (
j = 0;
j < 49;
j++)
3923 test[
l].red_received[
j] = 1.01f +
j;
3924 if (
test[
l].green_received)
3925 test[
l].green_received[
j] = 1.02f +
j;
3926 if (
test[
l].blue_received)
3927 test[
l].blue_received[
j] = 1.03f +
j;
3933 for (
j = 0;
j < 49;
j++)
3941 "Red: case %u, order %u: expected[%u] = %.8e, received %.8e.\n",
3944 if (
test[
l].green_received)
3952 "Green: case %u, order %u: expected[%u] = %.8e, received %.8e.\n",
3956 if (
test[
l].blue_received)
3964 "Blue: case %u, order %u: expected[%u] = %.8e, received %.8e.\n",
3982 float a[20],
b[20],
c[20];
3989 3.41859412f, 1.69821072f, 1.70385253f, 1.70949447f, 4.0f, 5.0f, 6.0f,
3990 7.0f, 8.0f, 9.0f, 10.0f, 11.0f, 12.0f, 13.0f,
3991 14.0f, 15.0f, 16.0f, 17.0f, 18.0f, 19.0f,
3996 a[
i] = 1.0f +
i / 100.0f;
3997 b[
i] = 3.0f -
i / 100.0f;
4011 float a[20],
b[20],
c[20];
4018 7.81391382e+00f, 2.25605774e+00f, 5.94839954e+00f, 4.97089481e+00f, 2.89985824e+00f, 3.59894633e+00f,
4019 1.72657156e+00f, 5.57353783e+00f, 6.22063160e-01f, 9.00000000e+00f, 1.00000000e+01f, 1.10000000e+01f,
4020 1.20000000e+01f, 1.30000000e+01f, 1.40000000e+01f, 1.50000000e+01f, 1.60000000e+01f, 1.70000000e+01f,
4021 1.80000000e+01f, 1.90000000e+01f,
4023 static const float expected_aliased[20] =
4025 4.54092499e+02f, 2.12640405e+00f, 5.57040071e+00f, 1.53303785e+01f, 2.27960873e+01f, 4.36041260e+01f,
4026 4.27384138e+00f, 1.75772034e+02f, 2.37672729e+02f, 1.09000003e+00f, 1.10000002e+00f, 1.11000001e+00f,
4027 1.12000000e+00f, 1.13000000e+00f, 1.13999999e+00f, 1.14999998e+00f, 1.15999997e+00f, 1.16999996e+00f,
4028 1.17999995e+00f, 1.19000006e+00f,
4033 a[
i] = 1.0f +
i / 100.0f;
4034 b[
i] = 3.0f -
i / 100.0f;
4050 ok(
equal,
"Expected[%u] = %.8e, received = %.8e.\n",
i, expected_aliased[
i],
c[
i]);
4056 float a[20],
b[20],
c[20];
4064 1.41825991e+01f, 2.61570334e+00f, 1.28286009e+01f, 9.82059574e+00f, 3.03969646e+00f, 4.53044176e+00f,
4065 5.82058382e+00f, 1.22498465e+01f, 2.19434643e+00f, 3.90015244e+00f, 5.41660881e+00f, 5.60181284e+00f,
4066 9.59981740e-01f, 7.03754997e+00f, 3.62523031e+00f, 4.63601470e-01f, 1.60000000e+01f, 1.70000000e+01f,
4067 1.80000000e+01f, 1.90000000e+01f,
4069 -2.11441266e+05f, -2.52915771e+03f, -1.00233936e+04f, -4.41277191e+02f, -1.63994385e+02f, -5.26305115e+02f,
4070 2.96361875e+04f, -3.93183081e+03f, -1.35771113e+04f, -3.97897388e+03f, -1.03303418e+04f, -1.37797871e+04f,
4071 -1.66851094e+04f, -4.49813750e+04f, -7.32697422e+04f, -9.52373359e+04f, 1.60000000e+01f, 1.70000000e+01f,
4072 1.80000000e+01f, 1.90000000e+01f,
4074 2.36682415e-01f, -7.17648506e-01f, -1.80499524e-01f, -7.71235973e-02f, 1.44830629e-01f, 5.73285699e-01f,
4075 -3.37959230e-01f, 5.56938872e-02f, -4.42100227e-01f, 1.47701755e-01f, -5.51566519e-02f, 8.43374059e-02f,
4076 1.79876596e-01f, 9.09878965e-03f, 2.32199892e-01f, 7.41420984e-02f, 1.60000002e+00f, 1.70000005e+00f,
4077 1.80000007e+00f, 1.89999998e+00f,
4082 a[
i] = 1.0f +
i / 100.0f;
4083 b[
i] = 3.0f -
i / 100.0f;
4096 b[
i] = 3.0f -
i / 100.0f;
4125 static const float table[]=
4128 1.00999999e+00f, -3.00999999e+00f, 2.00999975e+00f, 4.01000023e+00f, -8.01000023e+00f, -6.00999928e+00f,
4129 -1.13078899e+01f, 5.00999975e+00f, -1.56583869e+00f, 1.09359801e+00f, -1.10099983e+01f, 1.98334141e+01f,
4130 -1.52681913e+01f, -1.90041180e+01f, -3.36488891e+00f, -9.56262684e+00f, 1.20996542e+01f, -2.72131383e-01f,
4131 3.02410126e+01f, 2.69199905e+01f, 3.92368774e+01f, -2.26324463e+01f, 6.70738792e+00f, -1.17682819e+01f,
4132 3.44367194e+00f, -6.07445812e+00f, 1.16183939e+01f, 1.52756083e+00f, 3.78963356e+01f, -5.69012184e+01f,
4133 4.74228935e+01f, 5.03915329e+01f, 1.06181908e+01f, 2.55010109e+01f, 4.92456071e-02f, 1.69833069e+01f,
4135 1.00999999e+00f, -3.00999999e+00f, -3.01000023e+00f, 4.01000023e+00f, -8.01000023e+00f, -6.00999928e+00f,
4136 -1.13078890e+01f, -8.01000023e+00f, 1.42979193e+01f,
4138 1.00999999e+00f, 3.00999999e+00f, -2.01000023e+00f, 4.01000023e+00f, 8.01000023e+00f, -6.01000118e+00f,
4139 -1.13078880e+01f, -5.01000071e+00f, -1.56583774e+00f, -1.09359753e+00f, -1.10100021e+01f, -1.98334103e+01f,
4140 1.52681961e+01f, -1.90041142e+01f, 3.36489248e+00f, -9.56262398e+00f, -1.20996523e+01f, -2.72129118e-01f,
4141 -3.02410049e+01f, 2.69200020e+01f, 3.92368736e+01f, 2.26324520e+01f, 6.70738268e+00f, 1.17682877e+01f,
4142 3.44367099e+00f, 6.07445717e+00f, 1.16183996e+01f, -1.52756333e+00f, 3.78963509e+01f, 5.69011993e+01f,
4143 -4.74229126e+01f, 5.03915253e+01f, -1.06182041e+01f, 2.55009995e+01f, -4.92481887e-02f, 1.69833050e+01f,
4145 1.00999999e+00f, 3.00999999e+00f, -3.01000023e+00f, 4.01000023e+00f, 8.01000023e+00f, -6.01000118e+00f,
4146 -1.13078899e+01f, -8.01000023e+00f, 1.42979193e+01f,
4148 1.00999999e+00f, 4.94489908e+00f, 1.44230127e+00f, 1.62728095e+00f, 2.19220325e-01f, 1.05408239e+01f,
4149 -9.13690281e+00f, 2.76374960e+00f, -7.30904531e+00f, -5.87572050e+00f, 5.30312395e+00f, -8.68215370e+00f,
4150 -2.56833839e+01f, 1.68027866e+00f, -1.88083878e+01f, 7.65365601e+00f, 1.69391327e+01f, -1.73280182e+01f,
4151 1.46297951e+01f, -5.44671021e+01f, -1.22310352e+01f, -4.08985710e+00f, -9.44422245e+00f, 3.05603528e+00f,
4152 1.79257303e-01f, -1.00418749e+01f, 2.30900917e+01f, -2.31887093e+01f, 1.17270985e+01f, -6.51830902e+01f,
4153 4.86715775e+01f, -1.50732088e+01f, 3.87931709e+01f, -2.60395355e+01f, 6.19276857e+00f, -1.76722469e+01f,
4155 1.00999999e+00f, 4.94489908e+00f, -8.91142070e-01f, 4.60769463e+00f, 2.19218358e-01f, 1.07733250e+01f,
4156 -8.20476913e+00f, 1.35638294e+01f, -1.20077667e+01f,
4158 1.00999999e+00f, 3.74571109e+00f, 3.00999999e+00f, 2.46776199e+00f, 1.03078890e+01f, 9.20981312e+00f,
4159 7.01000023e+00f, 3.93186355e+00f, 1.66212186e-01f, 1.60099983e+01f, 1.85040417e+01f, 1.74059658e+01f,
4160 1.30100002e+01f, 6.12801647e+00f, -2.02994061e+00f, -1.00100012e+01f, 1.31542921e+01f, 2.40099964e+01f,
4161 2.94322453e+01f, 2.83341675e+01f, 2.10100021e+01f, 9.05622101e+00f, -4.95814323e+00f, -1.80100002e+01f,
4162 -2.72360935e+01f, -4.52033186e+00f, 1.68145428e+01f, 3.40099945e+01f, 4.30924950e+01f, 4.19944229e+01f,
4163 3.10100002e+01f, 1.27164707e+01f, -8.61839962e+00f, -2.80100021e+01f, -4.08963470e+01f, -4.41905708e+01f,
4165 1.00999999e+00f, 3.74571109e+00f, 3.00999999e+00f, 1.59990644e+00f, 1.03078890e+01f, 9.20981312e+00f,
4166 7.01000023e+00f, 2.33195710e+00f, -4.42189360e+00f,
4174 for (
l = 0;
l < 2;
l++)
4187 out[
i] = (
i + 1.0f ) * (
i + 1.0f );
4192 ok(received_ptr == out_temp,
"Order %u, expected %p, received %p.\n",
4204 else if ((
l == 0) || (
order > 3))
4209 ok(
equal,
"Order %u index %u, expected %.8e, received %.8e.\n",
4224 static const float table[] =
4227 1.00999999e+00f, 4.47776222e+00f, 3.00999999e+00f, 2.64288902e-01f, 5.29788828e+00f, 9.94186401e+00f,
4228 7.01000023e+00f, -1.19981313e+00f, -8.84378910e+00f, -1.00100021e+01f, 7.49403954e+00f, 1.81380157e+01f,
4229 1.30100002e+01f, -3.39596605e+00f, -1.70399418e+01f, -1.60099983e+01f, -3.01642971e+01f, -1.80100040e+01f,
4230 1.04222422e+01f, 2.90662193e+01f, 2.10100002e+01f, -6.32417059e+00f, -2.79681454e+01f, -2.40099983e+01f,
4231 2.22609901e+00f, -1.81805649e+01f, -4.38245506e+01f, -2.80100040e+01f, 1.40824928e+01f, 4.27264709e+01f,
4232 3.10100002e+01f, -9.98442554e+00f, -4.16283989e+01f, -3.40099945e+01f, 5.88635778e+00f, 4.05303307e+01f,
4234 1.00999999e+00f, 4.47776222e+00f, 0.00000000e+00f, -5.81678391e+00f, 5.29788828e+00f, 6.93686390e+00f,
4235 0.00000000e+00f, -9.01125050e+00f, -2.29405236e+00f, -1.00100021e+01f, 1.29990416e+01f, 1.21330166e+01f,
4236 0.00000000e+00f, -1.57612505e+01f, -5.62874842e+00f, 0.00000000e+00f, -3.01642971e+01f, -3.29017075e-06f,
4237 1.99272442e+01f, 1.90612202e+01f, 0.00000000e+00f, -2.47612514e+01f, -8.62874794e+00f, 0.00000000e+00f,
4238 -1.30615301e+01f, -1.81805649e+01f, -3.03195534e+01f, -4.66050415e-06f, 2.85874958e+01f, 2.77214737e+01f,
4239 0.00000000e+00f, -3.60112534e+01f, -1.23787460e+01f, 0.00000000e+00f, -1.31287584e+01f, -2.36172504e+01f,
4241 1.00999999e+00f, 3.97776222e+00f, 3.97776222e+00f, 1.11419535e+00f, 7.24579096e+00f, 1.05597591e+01f,
4242 1.05597591e+01f, -9.95159924e-01f, -4.67341393e-01f, 4.67339337e-01f, 1.27653713e+01f, 1.85157013e+01f,
4243 1.85157013e+01f, -1.79728663e+00f, 4.93915796e-01f, -4.93915856e-01f, -2.14123421e+01f, 2.14123383e+01f,
4244 9.22107220e+00f, 2.36717567e+01f, 2.36717567e+01f, 3.85019469e+00f, -2.04687271e+01f, 2.04687233e+01f,
4245 -1.06621027e+01f, -3.65166283e+01f, -1.20612450e+01f, 1.20612402e+01f, 2.25568752e+01f, 3.89999084e+01f,
4246 3.89999084e+01f, -3.48751247e-02f, -1.04279022e+01f, 1.04279003e+01f, -3.68382835e+01f, -2.76528034e+01f,
4248 1.00999999e+00f, -2.46776247e+00f, 3.00999999e+00f, 3.74571109e+00f, -1.03078899e+01f, -3.93186426e+00f,
4249 7.01000023e+00f, 9.20981312e+00f, -1.66213632e-01f, -1.00099983e+01f, -1.85040436e+01f, -6.12801695e+00f,
4250 1.30100002e+01f, 1.74059658e+01f, 2.02993774e+00f, -1.60100021e+01f, 1.31543026e+01f, -1.80099964e+01f,
4251 -2.94322472e+01f, -9.05622101e+00f, 2.10100002e+01f, 2.83341694e+01f, 4.95813942e+00f, -2.40100021e+01f,
4252 -2.72360916e+01f, 4.41905823e+01f, 1.68145580e+01f, -2.80099964e+01f, -4.30924988e+01f, -1.27164736e+01f,
4253 3.10100002e+01f, 4.19944229e+01f, 8.61839294e+00f, -3.40100021e+01f, -4.08963470e+01f, -4.52030993e+00f,
4255 1.00999999e+00f, -2.46776247e+00f, 0.00000000e+00f, -3.20571756e+00f, -1.03078899e+01f, -6.93686390e+00f,
4256 0.00000000e+00f, -9.01125050e+00f, -4.46344614e+00f, -1.00099983e+01f, -1.29990416e+01f, -1.21330166e+01f,
4257 0.00000000e+00f, -1.57612505e+01f, -5.62874842e+00f, 0.00000000e+00f, 1.31543026e+01f, 3.29017075e-06f,
4258 -1.99272442e+01f, -1.90612202e+01f, 0.00000000e+00f, -2.47612514e+01f, -8.62874794e+00f, 0.00000000e+00f,
4259 -5.69598293e+00f, 4.41905823e+01f, 3.03195534e+01f, 4.66050415e-06f, -2.85874958e+01f, -2.77214737e+01f,
4260 0.00000000e+00f, -3.60112534e+01f, -1.23787460e+01f, 0.00000000e+00f, -1.31287584e+01f, -5.74052582e+01f,
4262 1.00999999e+00f, -2.96776223e+00f, -2.96776223e+00f, -6.09195352e-01f, -7.49829102e+00f, -1.06860094e+01f,
4263 -1.06860094e+01f, -1.18367157e+01f, 5.39078045e+00f, -5.39077854e+00f, -1.03036509e+01f, -1.72848415e+01f,
4264 -1.72848415e+01f, -1.75656433e+01f, 4.11427259e+00f, -4.11427307e+00f, 2.37164364e+01f, -2.37164326e+01f,
4265 -8.06902504e+00f, -2.30957317e+01f, -2.30957317e+01f, -1.85358467e+01f, -1.12711067e+01f, 1.12711039e+01f,
4266 -2.07248449e+00f, 3.01493301e+01f, 1.52448931e+01f, -1.52448883e+01f, -2.09650497e+01f, -3.82039986e+01f,
4267 -3.82039986e+01f, -3.72582664e+01f, 5.42667723e+00f, -5.42667913e+00f, -2.33967514e+01f, -9.90355873e+00f,
4269 1.00999999e+00f, -4.47776222e+00f, 3.00999999e+00f, -2.64288664e-01f, 5.29788685e+00f, -9.94186401e+00f,
4270 7.01000023e+00f, 1.19981360e+00f, -8.84378815e+00f, 1.00100040e+01f, 7.49403811e+00f, -1.81380157e+01f,
4271 1.30100002e+01f, 3.39596677e+00f, -1.70399399e+01f, 1.60099964e+01f, -3.01642933e+01f, 1.80100060e+01f,
4272 1.04222393e+01f, -2.90662193e+01f, 2.10100002e+01f, 6.32417202e+00f, -2.79681435e+01f, 2.40099926e+01f,
4273 2.22610497e+00f, 1.81805515e+01f, -4.38245430e+01f, 2.80100079e+01f, 1.40824890e+01f, -4.27264709e+01f,
4274 3.10100002e+01f, 9.98442745e+00f, -4.16283989e+01f, 3.40099869e+01f, 5.88636589e+00f, -4.05303268e+01f,
4276 1.00999999e+00f, -4.47776222e+00f, 0.00000000e+00f, -1.93892837e+00f, 5.29788685e+00f, -6.93686390e+00f,
4277 0.00000000e+00f, -3.00375080e+00f, -2.29405141e+00f, 1.00100040e+01f, 1.29990396e+01f, -1.21330166e+01f,
4278 0.00000000e+00f, -5.25375128e+00f, -5.62874699e+00f, -5.68378528e-06f, -3.01642933e+01f, 7.00829787e-06f,
4279 1.99272423e+01f, -1.90612202e+01f, 0.00000000e+00f, -8.25375271e+00f, -8.62874603e+00f, -4.09131496e-12f,
4280 -1.30615349e+01f, 1.81805515e+01f, -3.03195534e+01f, 9.92720470e-06f, 2.85874920e+01f, -2.77214737e+01f,
4281 0.00000000e+00f, -1.20037527e+01f, -1.23787422e+01f, -5.79531909e-12f, -1.31287651e+01f, -7.87240028e+00f,
4283 1.00999999e+00f, -3.97776222e+00f, -3.97776222e+00f, 2.86356640e+00f, 6.37110424e+00f, -1.01224155e+01f,
4284 -1.01224155e+01f, 1.05787458e+01f, -7.76929522e+00f, -7.76928997e+00f, 1.68836861e+01f, -2.05748577e+01f,
4285 -2.05748577e+01f, 2.49091301e+01f, -5.72616625e+00f, -5.72616386e+00f, -1.87962208e+01f, -1.87962112e+01f,
4286 2.93253498e+01f, -3.37238922e+01f, -3.37238922e+01f, 4.22584419e+01f, -4.85123205e+00f, -4.85122633e+00f,
4287 -2.53339314e+00f, 3.24522591e+01f, -4.65456696e+01f, -4.65456543e+01f, 5.18603249e+01f, -5.36516304e+01f,
4288 -5.36516304e+01f, 7.17381744e+01f, 4.44061565e+00f, 4.44062901e+00f, 2.58841743e+01f, -1.07481155e+01f,
4291 for (
l = 0;
l < 3;
l++)
4296 out_temp = &
in[
l - 1];
4309 out[
i] = (
i + 1.0f ) * (
i + 1.0f );
4314 ok(received_ptr == out_temp,
"angle %f, order %u, expected %p, received %p\n",
angle[
j],
order, out_temp, received_ptr);
4316 for (
i = 0;
i <
end;
i++)
4329 "angle %.8e, order %u index %u, expected %.8e, received %.8e.\n",
4339 float a[49],
b[49],
expected, *received_array;
4352 ok(received_array ==
b,
"Expected %p, received %p\n",
b, received_array);
_STLP_DECLSPEC complex< float > _STLP_CALL sqrt(const complex< float > &)
#define D3DERR_INVALIDCALL
#define ID3DXMatrixStack_Push(p)
#define ID3DXMatrixStack_LoadMatrix(p, a)
#define ID3DXMatrixStack_GetTop(p)
#define ID3DXMatrixStack_LoadIdentity(p)
#define ID3DXMatrixStack_Release(p)
#define ID3DXMatrixStack_Pop(p)
D3DXQUATERNION *WINAPI D3DXQuaternionMultiply(D3DXQUATERNION *pout, const D3DXQUATERNION *pq1, const D3DXQUATERNION *pq2)
D3DXQUATERNION *WINAPI D3DXQuaternionBaryCentric(D3DXQUATERNION *pout, const D3DXQUATERNION *pq1, const D3DXQUATERNION *pq2, const D3DXQUATERNION *pq3, FLOAT f, FLOAT g)
D3DXMATRIX *WINAPI D3DXMatrixLookAtRH(D3DXMATRIX *out, const D3DXVECTOR3 *eye, const D3DXVECTOR3 *at, const D3DXVECTOR3 *up)
D3DXVECTOR2 *WINAPI D3DXVec2TransformCoordArray(D3DXVECTOR2 *out, UINT outstride, const D3DXVECTOR2 *in, UINT instride, const D3DXMATRIX *matrix, UINT elements)
D3DXVECTOR4 *WINAPI D3DXVec4Normalize(D3DXVECTOR4 *pout, const D3DXVECTOR4 *pv)
D3DXQUATERNION *WINAPI D3DXQuaternionSquad(D3DXQUATERNION *pout, const D3DXQUATERNION *pq1, const D3DXQUATERNION *pq2, const D3DXQUATERNION *pq3, const D3DXQUATERNION *pq4, FLOAT t)
D3DXVECTOR2 *WINAPI D3DXVec2TransformNormal(D3DXVECTOR2 *pout, const D3DXVECTOR2 *pv, const D3DXMATRIX *pm)
HRESULT WINAPI D3DXSHEvalSphericalLight(UINT order, const D3DXVECTOR3 *dir, FLOAT radius, FLOAT Rintensity, FLOAT Gintensity, FLOAT Bintensity, FLOAT *rout, FLOAT *gout, FLOAT *bout)
D3DXMATRIX *WINAPI D3DXMatrixPerspectiveLH(D3DXMATRIX *pout, FLOAT w, FLOAT h, FLOAT zn, FLOAT zf)
D3DXVECTOR2 *WINAPI D3DXVec2BaryCentric(D3DXVECTOR2 *pout, const D3DXVECTOR2 *pv1, const D3DXVECTOR2 *pv2, const D3DXVECTOR2 *pv3, FLOAT f, FLOAT g)
HRESULT WINAPI D3DXSHEvalConeLight(UINT order, const D3DXVECTOR3 *dir, FLOAT radius, FLOAT Rintensity, FLOAT Gintensity, FLOAT Bintensity, FLOAT *rout, FLOAT *gout, FLOAT *bout)
D3DXVECTOR4 *WINAPI D3DXVec4Transform(D3DXVECTOR4 *pout, const D3DXVECTOR4 *pv, const D3DXMATRIX *pm)
D3DXVECTOR2 *WINAPI D3DXVec2Hermite(D3DXVECTOR2 *pout, const D3DXVECTOR2 *pv1, const D3DXVECTOR2 *pt1, const D3DXVECTOR2 *pv2, const D3DXVECTOR2 *pt2, FLOAT s)
D3DXMATRIX *WINAPI D3DXMatrixMultiplyTranspose(D3DXMATRIX *pout, const D3DXMATRIX *pm1, const D3DXMATRIX *pm2)
FLOAT *WINAPI D3DXFloat16To32Array(FLOAT *pout, const D3DXFLOAT16 *pin, UINT n)
D3DXMATRIX *WINAPI D3DXMatrixOrthoOffCenterLH(D3DXMATRIX *pout, FLOAT l, FLOAT r, FLOAT b, FLOAT t, FLOAT zn, FLOAT zf)
D3DXCOLOR *WINAPI D3DXColorAdjustContrast(D3DXCOLOR *pout, const D3DXCOLOR *pc, FLOAT s)
D3DXPLANE *WINAPI D3DXPlaneTransform(D3DXPLANE *pout, const D3DXPLANE *pplane, const D3DXMATRIX *pm)
FLOAT *WINAPI D3DXSHMultiply4(FLOAT *out, const FLOAT *a, const FLOAT *b)
D3DXMATRIX *WINAPI D3DXMatrixRotationYawPitchRoll(D3DXMATRIX *out, FLOAT yaw, FLOAT pitch, FLOAT roll)
HRESULT WINAPI D3DXSHEvalDirectionalLight(UINT order, const D3DXVECTOR3 *dir, FLOAT Rintensity, FLOAT Gintensity, FLOAT Bintensity, FLOAT *Rout, FLOAT *Gout, FLOAT *Bout)
D3DXVECTOR3 *WINAPI D3DXVec3TransformCoord(D3DXVECTOR3 *pout, const D3DXVECTOR3 *pv, const D3DXMATRIX *pm)
D3DXVECTOR4 *WINAPI D3DXVec4Cross(D3DXVECTOR4 *pout, const D3DXVECTOR4 *pv1, const D3DXVECTOR4 *pv2, const D3DXVECTOR4 *pv3)
D3DXVECTOR3 *WINAPI D3DXVec3UnprojectArray(D3DXVECTOR3 *out, UINT outstride, const D3DXVECTOR3 *in, UINT instride, const D3DVIEWPORT9 *viewport, const D3DXMATRIX *projection, const D3DXMATRIX *view, const D3DXMATRIX *world, UINT elements)
D3DXMATRIX *WINAPI D3DXMatrixRotationY(D3DXMATRIX *pout, FLOAT angle)
D3DXMATRIX *WINAPI D3DXMatrixRotationZ(D3DXMATRIX *pout, FLOAT angle)
D3DXMATRIX *WINAPI D3DXMatrixReflect(D3DXMATRIX *pout, const D3DXPLANE *pplane)
D3DXVECTOR4 *WINAPI D3DXVec2Transform(D3DXVECTOR4 *pout, const D3DXVECTOR2 *pv, const D3DXMATRIX *pm)
FLOAT *WINAPI D3DXSHRotateZ(FLOAT *out, UINT order, FLOAT angle, const FLOAT *in)
D3DXQUATERNION *WINAPI D3DXQuaternionExp(D3DXQUATERNION *out, const D3DXQUATERNION *q)
D3DXMATRIX *WINAPI D3DXMatrixAffineTransformation2D(D3DXMATRIX *out, FLOAT scaling, const D3DXVECTOR2 *rotationcenter, FLOAT rotation, const D3DXVECTOR2 *translation)
HRESULT WINAPI D3DXMatrixDecompose(D3DXVECTOR3 *poutscale, D3DXQUATERNION *poutrotation, D3DXVECTOR3 *pouttranslation, const D3DXMATRIX *pm)
D3DXMATRIX *WINAPI D3DXMatrixMultiply(D3DXMATRIX *pout, const D3DXMATRIX *pm1, const D3DXMATRIX *pm2)
D3DXVECTOR4 *WINAPI D3DXVec2TransformArray(D3DXVECTOR4 *out, UINT outstride, const D3DXVECTOR2 *in, UINT instride, const D3DXMATRIX *matrix, UINT elements)
D3DXVECTOR2 *WINAPI D3DXVec2TransformNormalArray(D3DXVECTOR2 *out, UINT outstride, const D3DXVECTOR2 *in, UINT instride, const D3DXMATRIX *matrix, UINT elements)
D3DXPLANE *WINAPI D3DXPlaneFromPoints(D3DXPLANE *pout, const D3DXVECTOR3 *pv1, const D3DXVECTOR3 *pv2, const D3DXVECTOR3 *pv3)
FLOAT WINAPI D3DXMatrixDeterminant(const D3DXMATRIX *pm)
D3DXQUATERNION *WINAPI D3DXQuaternionSlerp(D3DXQUATERNION *out, const D3DXQUATERNION *q1, const D3DXQUATERNION *q2, FLOAT t)
D3DXMATRIX *WINAPI D3DXMatrixPerspectiveOffCenterRH(D3DXMATRIX *pout, FLOAT l, FLOAT r, FLOAT b, FLOAT t, FLOAT zn, FLOAT zf)
D3DXVECTOR3 *WINAPI D3DXVec3ProjectArray(D3DXVECTOR3 *out, UINT outstride, const D3DXVECTOR3 *in, UINT instride, const D3DVIEWPORT9 *viewport, const D3DXMATRIX *projection, const D3DXMATRIX *view, const D3DXMATRIX *world, UINT elements)
D3DXVECTOR2 *WINAPI D3DXVec2CatmullRom(D3DXVECTOR2 *pout, const D3DXVECTOR2 *pv0, const D3DXVECTOR2 *pv1, const D3DXVECTOR2 *pv2, const D3DXVECTOR2 *pv3, FLOAT s)
D3DXVECTOR2 *WINAPI D3DXVec2TransformCoord(D3DXVECTOR2 *pout, const D3DXVECTOR2 *pv, const D3DXMATRIX *pm)
FLOAT *WINAPI D3DXSHMultiply2(FLOAT *out, const FLOAT *a, const FLOAT *b)
D3DXMATRIX *WINAPI D3DXMatrixInverse(D3DXMATRIX *pout, FLOAT *pdeterminant, const D3DXMATRIX *pm)
D3DXQUATERNION *WINAPI D3DXQuaternionNormalize(D3DXQUATERNION *out, const D3DXQUATERNION *q)
D3DXPLANE *WINAPI D3DXPlaneNormalize(D3DXPLANE *out, const D3DXPLANE *p)
D3DXMATRIX *WINAPI D3DXMatrixTransformation2D(D3DXMATRIX *out, const D3DXVECTOR2 *scaling_center, float scaling_rotation, const D3DXVECTOR2 *scaling, const D3DXVECTOR2 *rotation_center, float rotation, const D3DXVECTOR2 *translation)
D3DXVECTOR3 *WINAPI D3DXVec3Project(D3DXVECTOR3 *pout, const D3DXVECTOR3 *pv, const D3DVIEWPORT9 *pviewport, const D3DXMATRIX *pprojection, const D3DXMATRIX *pview, const D3DXMATRIX *pworld)
D3DXVECTOR3 *WINAPI D3DXVec3TransformCoordArray(D3DXVECTOR3 *out, UINT outstride, const D3DXVECTOR3 *in, UINT instride, const D3DXMATRIX *matrix, UINT elements)
D3DXQUATERNION *WINAPI D3DXQuaternionLn(D3DXQUATERNION *out, const D3DXQUATERNION *q)
D3DXMATRIX *WINAPI D3DXMatrixRotationAxis(D3DXMATRIX *out, const D3DXVECTOR3 *v, FLOAT angle)
D3DXMATRIX *WINAPI D3DXMatrixPerspectiveOffCenterLH(D3DXMATRIX *pout, FLOAT l, FLOAT r, FLOAT b, FLOAT t, FLOAT zn, FLOAT zf)
D3DXVECTOR4 *WINAPI D3DXVec3TransformArray(D3DXVECTOR4 *out, UINT outstride, const D3DXVECTOR3 *in, UINT instride, const D3DXMATRIX *matrix, UINT elements)
void WINAPI D3DXQuaternionSquadSetup(D3DXQUATERNION *paout, D3DXQUATERNION *pbout, D3DXQUATERNION *pcout, const D3DXQUATERNION *pq0, const D3DXQUATERNION *pq1, const D3DXQUATERNION *pq2, const D3DXQUATERNION *pq3)
D3DXMATRIX *WINAPI D3DXMatrixTransformation(D3DXMATRIX *out, const D3DXVECTOR3 *scaling_center, const D3DXQUATERNION *scaling_rotation, const D3DXVECTOR3 *scaling, const D3DXVECTOR3 *rotation_center, const D3DXQUATERNION *rotation, const D3DXVECTOR3 *translation)
D3DXVECTOR4 *WINAPI D3DXVec4BaryCentric(D3DXVECTOR4 *pout, const D3DXVECTOR4 *pv1, const D3DXVECTOR4 *pv2, const D3DXVECTOR4 *pv3, FLOAT f, FLOAT g)
D3DXMATRIX *WINAPI D3DXMatrixLookAtLH(D3DXMATRIX *out, const D3DXVECTOR3 *eye, const D3DXVECTOR3 *at, const D3DXVECTOR3 *up)
HRESULT WINAPI D3DXCreateMatrixStack(DWORD flags, ID3DXMatrixStack **stack)
D3DXVECTOR2 *WINAPI D3DXVec2Normalize(D3DXVECTOR2 *pout, const D3DXVECTOR2 *pv)
D3DXMATRIX *WINAPI D3DXMatrixOrthoRH(D3DXMATRIX *pout, FLOAT w, FLOAT h, FLOAT zn, FLOAT zf)
D3DXVECTOR3 *WINAPI D3DXVec3TransformNormal(D3DXVECTOR3 *pout, const D3DXVECTOR3 *pv, const D3DXMATRIX *pm)
D3DXMATRIX *WINAPI D3DXMatrixTranspose(D3DXMATRIX *pout, const D3DXMATRIX *pm)
D3DXVECTOR3 *WINAPI D3DXVec3Normalize(D3DXVECTOR3 *pout, const D3DXVECTOR3 *pv)
D3DXMATRIX *WINAPI D3DXMatrixRotationQuaternion(D3DXMATRIX *pout, const D3DXQUATERNION *pq)
D3DXQUATERNION *WINAPI D3DXQuaternionInverse(D3DXQUATERNION *pout, const D3DXQUATERNION *pq)
FLOAT *WINAPI D3DXSHMultiply3(FLOAT *out, const FLOAT *a, const FLOAT *b)
D3DXVECTOR4 *WINAPI D3DXVec4Hermite(D3DXVECTOR4 *pout, const D3DXVECTOR4 *pv1, const D3DXVECTOR4 *pt1, const D3DXVECTOR4 *pv2, const D3DXVECTOR4 *pt2, FLOAT s)
D3DXMATRIX *WINAPI D3DXMatrixShadow(D3DXMATRIX *pout, const D3DXVECTOR4 *plight, const D3DXPLANE *pplane)
D3DXFLOAT16 *WINAPI D3DXFloat32To16Array(D3DXFLOAT16 *pout, const FLOAT *pin, UINT n)
FLOAT WINAPI D3DXFresnelTerm(FLOAT costheta, FLOAT refractionindex)
D3DXVECTOR4 *WINAPI D3DXVec4CatmullRom(D3DXVECTOR4 *pout, const D3DXVECTOR4 *pv0, const D3DXVECTOR4 *pv1, const D3DXVECTOR4 *pv2, const D3DXVECTOR4 *pv3, FLOAT s)
FLOAT *WINAPI D3DXSHRotate(FLOAT *out, UINT order, const D3DXMATRIX *matrix, const FLOAT *in)
HRESULT WINAPI D3DXSHEvalHemisphereLight(UINT order, const D3DXVECTOR3 *dir, D3DXCOLOR top, D3DXCOLOR bottom, FLOAT *rout, FLOAT *gout, FLOAT *bout)
D3DXMATRIX *WINAPI D3DXMatrixTranslation(D3DXMATRIX *pout, FLOAT x, FLOAT y, FLOAT z)
FLOAT *WINAPI D3DXSHAdd(FLOAT *out, UINT order, const FLOAT *a, const FLOAT *b)
D3DXVECTOR3 *WINAPI D3DXPlaneIntersectLine(D3DXVECTOR3 *pout, const D3DXPLANE *pp, const D3DXVECTOR3 *pv1, const D3DXVECTOR3 *pv2)
D3DXPLANE *WINAPI D3DXPlaneTransformArray(D3DXPLANE *out, UINT outstride, const D3DXPLANE *in, UINT instride, const D3DXMATRIX *matrix, UINT elements)
D3DXVECTOR4 *WINAPI D3DXVec4TransformArray(D3DXVECTOR4 *out, UINT outstride, const D3DXVECTOR4 *in, UINT instride, const D3DXMATRIX *matrix, UINT elements)
D3DXPLANE *WINAPI D3DXPlaneFromPointNormal(D3DXPLANE *pout, const D3DXVECTOR3 *pvpoint, const D3DXVECTOR3 *pvnormal)
D3DXQUATERNION *WINAPI D3DXQuaternionRotationYawPitchRoll(D3DXQUATERNION *out, FLOAT yaw, FLOAT pitch, FLOAT roll)
D3DXVECTOR3 *WINAPI D3DXVec3Unproject(D3DXVECTOR3 *out, const D3DXVECTOR3 *v, const D3DVIEWPORT9 *viewport, const D3DXMATRIX *projection, const D3DXMATRIX *view, const D3DXMATRIX *world)
FLOAT *WINAPI D3DXSHEvalDirection(FLOAT *out, UINT order, const D3DXVECTOR3 *dir)
void WINAPI D3DXQuaternionToAxisAngle(const D3DXQUATERNION *pq, D3DXVECTOR3 *paxis, FLOAT *pangle)
D3DXMATRIX *WINAPI D3DXMatrixPerspectiveFovRH(D3DXMATRIX *pout, FLOAT fovy, FLOAT aspect, FLOAT zn, FLOAT zf)
D3DXMATRIX *WINAPI D3DXMatrixPerspectiveFovLH(D3DXMATRIX *pout, FLOAT fovy, FLOAT aspect, FLOAT zn, FLOAT zf)
D3DXVECTOR3 *WINAPI D3DXVec3TransformNormalArray(D3DXVECTOR3 *out, UINT outstride, const D3DXVECTOR3 *in, UINT instride, const D3DXMATRIX *matrix, UINT elements)
D3DXVECTOR3 *WINAPI D3DXVec3BaryCentric(D3DXVECTOR3 *pout, const D3DXVECTOR3 *pv1, const D3DXVECTOR3 *pv2, const D3DXVECTOR3 *pv3, FLOAT f, FLOAT g)
D3DXVECTOR4 *WINAPI D3DXVec3Transform(D3DXVECTOR4 *pout, const D3DXVECTOR3 *pv, const D3DXMATRIX *pm)
D3DXVECTOR3 *WINAPI D3DXVec3Hermite(D3DXVECTOR3 *pout, const D3DXVECTOR3 *pv1, const D3DXVECTOR3 *pt1, const D3DXVECTOR3 *pv2, const D3DXVECTOR3 *pt2, FLOAT s)
D3DXCOLOR *WINAPI D3DXColorAdjustSaturation(D3DXCOLOR *pout, const D3DXCOLOR *pc, FLOAT s)
FLOAT *WINAPI D3DXSHScale(FLOAT *out, UINT order, const FLOAT *a, const FLOAT scale)
D3DXQUATERNION *WINAPI D3DXQuaternionRotationMatrix(D3DXQUATERNION *out, const D3DXMATRIX *m)
D3DXMATRIX *WINAPI D3DXMatrixOrthoLH(D3DXMATRIX *pout, FLOAT w, FLOAT h, FLOAT zn, FLOAT zf)
D3DXQUATERNION *WINAPI D3DXQuaternionRotationAxis(D3DXQUATERNION *out, const D3DXVECTOR3 *v, FLOAT angle)
D3DXMATRIX *WINAPI D3DXMatrixRotationX(D3DXMATRIX *pout, FLOAT angle)
FLOAT WINAPI D3DXSHDot(UINT order, const FLOAT *a, const FLOAT *b)
D3DXVECTOR3 *WINAPI D3DXVec3CatmullRom(D3DXVECTOR3 *pout, const D3DXVECTOR3 *pv0, const D3DXVECTOR3 *pv1, const D3DXVECTOR3 *pv2, const D3DXVECTOR3 *pv3, FLOAT s)
D3DXMATRIX *WINAPI D3DXMatrixOrthoOffCenterRH(D3DXMATRIX *pout, FLOAT l, FLOAT r, FLOAT b, FLOAT t, FLOAT zn, FLOAT zf)
D3DXMATRIX *WINAPI D3DXMatrixAffineTransformation(D3DXMATRIX *out, FLOAT scaling, const D3DXVECTOR3 *rotationcenter, const D3DXQUATERNION *rotation, const D3DXVECTOR3 *translation)
D3DXMATRIX *WINAPI D3DXMatrixPerspectiveRH(D3DXMATRIX *pout, FLOAT w, FLOAT h, FLOAT zn, FLOAT zf)
D3DXMATRIX *WINAPI D3DXMatrixScaling(D3DXMATRIX *pout, FLOAT sx, FLOAT sy, FLOAT sz)
GLint GLint GLint GLint GLint x
GLint GLint GLint GLint GLint GLint y
GLuint GLuint GLsizei count
GLdouble GLdouble GLdouble r
GLdouble GLdouble GLdouble GLdouble q
GLenum GLenum GLenum GLenum GLenum scale
GLdouble GLdouble GLdouble GLdouble top
GLboolean GLboolean GLboolean b
GLuint GLdouble GLdouble GLint GLint order
GLboolean GLboolean GLboolean GLboolean a
GLfloat GLfloat GLfloat v2
GLubyte GLubyte GLubyte GLubyte w
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble * u
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint GLint GLint j
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint GLint GLint GLenum GLenum GLenum GLint GLuint GLenum GLenum GLfloat GLenum GLfloat GLenum GLint const GLfloat GLenum GLint const GLushort GLint GLint GLsizei GLsizei GLenum GLsizei GLsizei GLenum GLenum const GLvoid GLenum plane
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum light
_Check_return_ _CRT_JIT_INTRINSIC double __cdecl fabs(_In_ double x)
#define memcpy(s1, s2, n)
static void expect_quaternion_(unsigned int line, const D3DXQUATERNION *expected, const D3DXQUATERNION *quaternion, unsigned int ulps)
static void D3DXQuaternionTest(void)
#define expect_color(expected, color, ulps)
#define expect_matrix(expected, matrix, ulps)
static void expect_plane_(unsigned int line, const D3DXPLANE *expected, const D3DXPLANE *plane, unsigned int ulps)
static void D3DXVector3Test(void)
static void test_matrix_stack(void)
#define expect_vec3(expected, vector, ulps)
static void test_D3DXSHEvalConeLight(void)
static void expect_color_(unsigned int line, const D3DXCOLOR *expected, const D3DXCOLOR *color, unsigned int ulps)
static void set_matrix(D3DXMATRIX *mat, float m00, float m01, float m02, float m03, float m10, float m11, float m12, float m13, float m20, float m21, float m22, float m23, float m30, float m31, float m32, float m33)
static void test_D3DXSHMultiply2(void)
static void test_D3DXSHMultiply3(void)
static void test_D3DXSHMultiply4(void)
static BOOL compare_vec4(const D3DXVECTOR4 *v1, const D3DXVECTOR4 *v2, unsigned int ulps)
static void test_D3DXFloat_Array(void)
#define expect_vec2(expected, vector, ulps)
static void test_D3DXSHAdd(void)
static void test_D3DXSHScale(void)
static BOOL compare_quaternion(const D3DXQUATERNION *q1, const D3DXQUATERNION *q2, unsigned int ulps)
static void test_Matrix_AffineTransformation2D(void)
static void expect_matrix_(unsigned int line, const D3DXMATRIX *expected, const D3DXMATRIX *matrix, unsigned int ulps)
static void D3DXMatrixTest(void)
static void test_D3DXSHDot(void)
static void test_Matrix_Transformation2D(void)
#define expect_plane(expected, plane, ulps)
static void expect_vec2_(unsigned int line, const D3DXVECTOR2 *expected, const D3DXVECTOR2 *vector, unsigned int ulps)
static BOOL compare_vec2(const D3DXVECTOR2 *v1, const D3DXVECTOR2 *v2, unsigned int ulps)
static void expect_vec3_(unsigned int line, const D3DXVECTOR3 *expected, const D3DXVECTOR3 *vector, unsigned int ulps)
static void test_D3DXSHEvalDirection(void)
static void test_D3DXVec_Array(void)
static void expect_vec4_array_(unsigned int line, unsigned int count, const D3DXVECTOR4 *expected, const D3DXVECTOR4 *vector, unsigned int ulps)
static void D3DXColorTest(void)
static void test_D3DXSHEvalDirectionalLight(void)
#define expect_vec4_array(count, expected, vector, ulps)
static BOOL compare_plane(const D3DXPLANE *p1, const D3DXPLANE *p2, unsigned int ulps)
static void test_Matrix_Decompose(void)
static void test_D3DXSHRotate(void)
static void test_D3DXSHEvalSphericalLight(void)
static void test_D3DXSHRotateZ(void)
static void D3DXVector4Test(void)
static void D3DXFresnelTest(void)
static BOOL compare_vec3(const D3DXVECTOR3 *v1, const D3DXVECTOR3 *v2, unsigned int ulps)
#define expect_vec4(expected, vector, ulps)
static void expect_vec4_(unsigned int line, const D3DXVECTOR4 *expected, const D3DXVECTOR4 *vector, unsigned int ulps)
static void D3DXVector2Test(void)
static BOOL compare_matrix(const D3DXMATRIX *m1, const D3DXMATRIX *m2, unsigned int ulps)
static void D3DXPlaneTest(void)
static void test_D3DXSHEvalHemisphereLight(void)
static BOOL compare_color(const D3DXCOLOR *c1, const D3DXCOLOR *c2, unsigned int ulps)
#define expect_quaternion(expected, quaternion, ulps)
#define compare_float(got, exp)