Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
9a139206
Commit
9a139206
authored
Sep 14, 2008
by
Francois Gouget
Committed by
Alexandre Julliard
Sep 15, 2008
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
d3dx9_36: Fix compilation on systems that don't support nameless unions.
parent
305a4894
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
167 additions
and
165 deletions
+167
-165
math.c
dlls/d3dx9_36/math.c
+23
-21
math.c
dlls/d3dx9_36/tests/math.c
+144
-144
No files found.
dlls/d3dx9_36/math.c
View file @
9a139206
...
...
@@ -18,6 +18,8 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#define NONAMELESSUNION
#include "config.h"
#include "windef.h"
#include "wingdi.h"
...
...
@@ -40,25 +42,25 @@ HRESULT WINAPI D3DXMatrixDecompose(D3DXVECTOR3 *poutscale, D3DXQUATERNION *poutr
}
/*Compute the scaling part.*/
vec
.
x
=
pm
->
m
[
0
][
0
];
vec
.
y
=
pm
->
m
[
0
][
1
];
vec
.
z
=
pm
->
m
[
0
][
2
];
vec
.
x
=
pm
->
u
.
m
[
0
][
0
];
vec
.
y
=
pm
->
u
.
m
[
0
][
1
];
vec
.
z
=
pm
->
u
.
m
[
0
][
2
];
poutscale
->
x
=
D3DXVec3Length
(
&
vec
);
vec
.
x
=
pm
->
m
[
1
][
0
];
vec
.
y
=
pm
->
m
[
1
][
1
];
vec
.
z
=
pm
->
m
[
1
][
2
];
vec
.
x
=
pm
->
u
.
m
[
1
][
0
];
vec
.
y
=
pm
->
u
.
m
[
1
][
1
];
vec
.
z
=
pm
->
u
.
m
[
1
][
2
];
poutscale
->
y
=
D3DXVec3Length
(
&
vec
);
vec
.
x
=
pm
->
m
[
2
][
0
];
vec
.
y
=
pm
->
m
[
2
][
1
];
vec
.
z
=
pm
->
m
[
2
][
2
];
vec
.
x
=
pm
->
u
.
m
[
2
][
0
];
vec
.
y
=
pm
->
u
.
m
[
2
][
1
];
vec
.
z
=
pm
->
u
.
m
[
2
][
2
];
poutscale
->
z
=
D3DXVec3Length
(
&
vec
);
/*Compute the translation part.*/
pouttranslation
->
x
=
pm
->
m
[
3
][
0
];
pouttranslation
->
y
=
pm
->
m
[
3
][
1
];
pouttranslation
->
z
=
pm
->
m
[
3
][
2
];
pouttranslation
->
x
=
pm
->
u
.
m
[
3
][
0
];
pouttranslation
->
y
=
pm
->
u
.
m
[
3
][
1
];
pouttranslation
->
z
=
pm
->
u
.
m
[
3
][
2
];
/*Let's calculate the rotation now*/
if
(
(
poutscale
->
x
==
0
.
0
f
)
||
(
poutscale
->
y
==
0
.
0
f
)
||
(
poutscale
->
z
==
0
.
0
f
)
)
...
...
@@ -66,15 +68,15 @@ HRESULT WINAPI D3DXMatrixDecompose(D3DXVECTOR3 *poutscale, D3DXQUATERNION *poutr
return
D3DERR_INVALIDCALL
;
}
normalized
.
m
[
0
][
0
]
=
pm
->
m
[
0
][
0
]
/
poutscale
->
x
;
normalized
.
m
[
0
][
1
]
=
pm
->
m
[
0
][
1
]
/
poutscale
->
x
;
normalized
.
m
[
0
][
2
]
=
pm
->
m
[
0
][
2
]
/
poutscale
->
x
;
normalized
.
m
[
1
][
0
]
=
pm
->
m
[
1
][
0
]
/
poutscale
->
y
;
normalized
.
m
[
1
][
1
]
=
pm
->
m
[
1
][
1
]
/
poutscale
->
y
;
normalized
.
m
[
1
][
2
]
=
pm
->
m
[
1
][
2
]
/
poutscale
->
y
;
normalized
.
m
[
2
][
0
]
=
pm
->
m
[
2
][
0
]
/
poutscale
->
z
;
normalized
.
m
[
2
][
1
]
=
pm
->
m
[
2
][
1
]
/
poutscale
->
z
;
normalized
.
m
[
2
][
2
]
=
pm
->
m
[
2
][
2
]
/
poutscale
->
z
;
normalized
.
u
.
m
[
0
][
0
]
=
pm
->
u
.
m
[
0
][
0
]
/
poutscale
->
x
;
normalized
.
u
.
m
[
0
][
1
]
=
pm
->
u
.
m
[
0
][
1
]
/
poutscale
->
x
;
normalized
.
u
.
m
[
0
][
2
]
=
pm
->
u
.
m
[
0
][
2
]
/
poutscale
->
x
;
normalized
.
u
.
m
[
1
][
0
]
=
pm
->
u
.
m
[
1
][
0
]
/
poutscale
->
y
;
normalized
.
u
.
m
[
1
][
1
]
=
pm
->
u
.
m
[
1
][
1
]
/
poutscale
->
y
;
normalized
.
u
.
m
[
1
][
2
]
=
pm
->
u
.
m
[
1
][
2
]
/
poutscale
->
y
;
normalized
.
u
.
m
[
2
][
0
]
=
pm
->
u
.
m
[
2
][
0
]
/
poutscale
->
z
;
normalized
.
u
.
m
[
2
][
1
]
=
pm
->
u
.
m
[
2
][
1
]
/
poutscale
->
z
;
normalized
.
u
.
m
[
2
][
2
]
=
pm
->
u
.
m
[
2
][
2
]
/
poutscale
->
z
;
D3DXQuaternionRotationMatrix
(
poutrotation
,
&
normalized
);
return
S_OK
;
...
...
dlls/d3dx9_36/tests/math.c
View file @
9a139206
...
...
@@ -97,22 +97,22 @@ static void test_Matrix_Decompose(void)
/*___________*/
pm
.
m
[
0
][
0
]
=
-
0
.
9238790
f
;
pm
.
m
[
1
][
0
]
=
-
0
.
2705984
f
;
pm
.
m
[
2
][
0
]
=
0
.
2705984
f
;
pm
.
m
[
3
][
0
]
=
-
5
.
0
f
;
pm
.
m
[
0
][
1
]
=
0
.
2705984
f
;
pm
.
m
[
1
][
1
]
=
0
.
03
806049
f
;
pm
.
m
[
2
][
1
]
=
0
.
9619395
f
;
pm
.
m
[
3
][
1
]
=
0
.
0
f
;
pm
.
m
[
0
][
2
]
=
-
0
.
2705984
f
;
pm
.
m
[
1
][
2
]
=
0
.
9619395
f
;
pm
.
m
[
2
][
2
]
=
0
.
03
806049
f
;
pm
.
m
[
3
][
2
]
=
10
.
0
f
;
pm
.
m
[
0
][
3
]
=
0
.
0
f
;
pm
.
m
[
1
][
3
]
=
0
.
0
f
;
pm
.
m
[
2
][
3
]
=
0
.
0
f
;
pm
.
m
[
3
][
3
]
=
1
.
0
f
;
U
(
pm
)
.
m
[
0
][
0
]
=
-
0
.
9238790
f
;
U
(
pm
)
.
m
[
1
][
0
]
=
-
0
.
2705984
f
;
U
(
pm
)
.
m
[
2
][
0
]
=
0
.
2705984
f
;
U
(
pm
)
.
m
[
3
][
0
]
=
-
5
.
0
f
;
U
(
pm
)
.
m
[
0
][
1
]
=
0
.
2705984
f
;
U
(
pm
)
.
m
[
1
][
1
]
=
0
.
03
806049
f
;
U
(
pm
)
.
m
[
2
][
1
]
=
0
.
9619395
f
;
U
(
pm
)
.
m
[
3
][
1
]
=
0
.
0
f
;
U
(
pm
)
.
m
[
0
][
2
]
=
-
0
.
2705984
f
;
U
(
pm
)
.
m
[
1
][
2
]
=
0
.
9619395
f
;
U
(
pm
)
.
m
[
2
][
2
]
=
0
.
03
806049
f
;
U
(
pm
)
.
m
[
3
][
2
]
=
10
.
0
f
;
U
(
pm
)
.
m
[
0
][
3
]
=
0
.
0
f
;
U
(
pm
)
.
m
[
1
][
3
]
=
0
.
0
f
;
U
(
pm
)
.
m
[
2
][
3
]
=
0
.
0
f
;
U
(
pm
)
.
m
[
3
][
3
]
=
1
.
0
f
;
exp_scale
.
x
=
1
.
0
f
;
exp_scale
.
y
=
1
.
0
f
;
...
...
@@ -135,22 +135,22 @@ static void test_Matrix_Decompose(void)
/*_________*/
pm
.
m
[
0
][
0
]
=
-
2
.
255813
f
;
pm
.
m
[
1
][
0
]
=
1
.
302324
f
;
pm
.
m
[
2
][
0
]
=
1
.
488373
f
;
pm
.
m
[
3
][
0
]
=
1
.
0
f
;
pm
.
m
[
0
][
1
]
=
1
.
302327
f
;
pm
.
m
[
1
][
1
]
=
-
0
.
7209296
f
;
pm
.
m
[
2
][
1
]
=
2
.
60465
f
;
pm
.
m
[
3
][
1
]
=
2
.
0
f
;
pm
.
m
[
0
][
2
]
=
1
.
488371
f
;
pm
.
m
[
1
][
2
]
=
2
.
604651
f
;
pm
.
m
[
2
][
2
]
=
-
0
.
02325551
f
;
pm
.
m
[
3
][
2
]
=
3
.
0
f
;
pm
.
m
[
0
][
3
]
=
0
.
0
f
;
pm
.
m
[
1
][
3
]
=
0
.
0
f
;
pm
.
m
[
2
][
3
]
=
0
.
0
f
;
pm
.
m
[
3
][
3
]
=
1
.
0
f
;
U
(
pm
)
.
m
[
0
][
0
]
=
-
2
.
255813
f
;
U
(
pm
)
.
m
[
1
][
0
]
=
1
.
302324
f
;
U
(
pm
)
.
m
[
2
][
0
]
=
1
.
488373
f
;
U
(
pm
)
.
m
[
3
][
0
]
=
1
.
0
f
;
U
(
pm
)
.
m
[
0
][
1
]
=
1
.
302327
f
;
U
(
pm
)
.
m
[
1
][
1
]
=
-
0
.
7209296
f
;
U
(
pm
)
.
m
[
2
][
1
]
=
2
.
60465
f
;
U
(
pm
)
.
m
[
3
][
1
]
=
2
.
0
f
;
U
(
pm
)
.
m
[
0
][
2
]
=
1
.
488371
f
;
U
(
pm
)
.
m
[
1
][
2
]
=
2
.
604651
f
;
U
(
pm
)
.
m
[
2
][
2
]
=
-
0
.
02325551
f
;
U
(
pm
)
.
m
[
3
][
2
]
=
3
.
0
f
;
U
(
pm
)
.
m
[
0
][
3
]
=
0
.
0
f
;
U
(
pm
)
.
m
[
1
][
3
]
=
0
.
0
f
;
U
(
pm
)
.
m
[
2
][
3
]
=
0
.
0
f
;
U
(
pm
)
.
m
[
3
][
3
]
=
1
.
0
f
;
exp_scale
.
x
=
3
.
0
f
;
exp_scale
.
y
=
3
.
0
f
;
...
...
@@ -173,22 +173,22 @@ static void test_Matrix_Decompose(void)
/*_____________*/
pm
.
m
[
0
][
0
]
=
2
.
427051
f
;
pm
.
m
[
1
][
0
]
=
0
.
0
f
;
pm
.
m
[
2
][
0
]
=
1
.
763355
f
;
pm
.
m
[
3
][
0
]
=
5
.
0
f
;
pm
.
m
[
0
][
1
]
=
0
.
0
f
;
pm
.
m
[
1
][
1
]
=
3
.
0
f
;
pm
.
m
[
2
][
1
]
=
0
.
0
f
;
pm
.
m
[
3
][
1
]
=
5
.
0
f
;
pm
.
m
[
0
][
2
]
=
-
1
.
763355
f
;
pm
.
m
[
1
][
2
]
=
0
.
0
f
;
pm
.
m
[
2
][
2
]
=
2
.
427051
f
;
pm
.
m
[
3
][
2
]
=
5
.
0
f
;
pm
.
m
[
0
][
3
]
=
0
.
0
f
;
pm
.
m
[
1
][
3
]
=
0
.
0
f
;
pm
.
m
[
2
][
3
]
=
0
.
0
f
;
pm
.
m
[
3
][
3
]
=
1
.
0
f
;
U
(
pm
)
.
m
[
0
][
0
]
=
2
.
427051
f
;
U
(
pm
)
.
m
[
1
][
0
]
=
0
.
0
f
;
U
(
pm
)
.
m
[
2
][
0
]
=
1
.
763355
f
;
U
(
pm
)
.
m
[
3
][
0
]
=
5
.
0
f
;
U
(
pm
)
.
m
[
0
][
1
]
=
0
.
0
f
;
U
(
pm
)
.
m
[
1
][
1
]
=
3
.
0
f
;
U
(
pm
)
.
m
[
2
][
1
]
=
0
.
0
f
;
U
(
pm
)
.
m
[
3
][
1
]
=
5
.
0
f
;
U
(
pm
)
.
m
[
0
][
2
]
=
-
1
.
763355
f
;
U
(
pm
)
.
m
[
1
][
2
]
=
0
.
0
f
;
U
(
pm
)
.
m
[
2
][
2
]
=
2
.
427051
f
;
U
(
pm
)
.
m
[
3
][
2
]
=
5
.
0
f
;
U
(
pm
)
.
m
[
0
][
3
]
=
0
.
0
f
;
U
(
pm
)
.
m
[
1
][
3
]
=
0
.
0
f
;
U
(
pm
)
.
m
[
2
][
3
]
=
0
.
0
f
;
U
(
pm
)
.
m
[
3
][
3
]
=
1
.
0
f
;
exp_scale
.
x
=
3
.
0
f
;
exp_scale
.
y
=
3
.
0
f
;
...
...
@@ -211,22 +211,22 @@ static void test_Matrix_Decompose(void)
/*_____________*/
pm
.
m
[
0
][
0
]
=
-
0
.
9238790
f
;
pm
.
m
[
1
][
0
]
=
-
0
.
2705984
f
;
pm
.
m
[
2
][
0
]
=
0
.
2705984
f
;
pm
.
m
[
3
][
0
]
=
-
5
.
0
f
;
pm
.
m
[
0
][
1
]
=
0
.
2705984
f
;
pm
.
m
[
1
][
1
]
=
0
.
03
806049
f
;
pm
.
m
[
2
][
1
]
=
0
.
9619395
f
;
pm
.
m
[
3
][
1
]
=
0
.
0
f
;
pm
.
m
[
0
][
2
]
=
-
0
.
2705984
f
;
pm
.
m
[
1
][
2
]
=
0
.
9619395
f
;
pm
.
m
[
2
][
2
]
=
0
.
03
806049
f
;
pm
.
m
[
3
][
2
]
=
10
.
0
f
;
pm
.
m
[
0
][
3
]
=
0
.
0
f
;
pm
.
m
[
1
][
3
]
=
0
.
0
f
;
pm
.
m
[
2
][
3
]
=
0
.
0
f
;
pm
.
m
[
3
][
3
]
=
1
.
0
f
;
U
(
pm
)
.
m
[
0
][
0
]
=
-
0
.
9238790
f
;
U
(
pm
)
.
m
[
1
][
0
]
=
-
0
.
2705984
f
;
U
(
pm
)
.
m
[
2
][
0
]
=
0
.
2705984
f
;
U
(
pm
)
.
m
[
3
][
0
]
=
-
5
.
0
f
;
U
(
pm
)
.
m
[
0
][
1
]
=
0
.
2705984
f
;
U
(
pm
)
.
m
[
1
][
1
]
=
0
.
03
806049
f
;
U
(
pm
)
.
m
[
2
][
1
]
=
0
.
9619395
f
;
U
(
pm
)
.
m
[
3
][
1
]
=
0
.
0
f
;
U
(
pm
)
.
m
[
0
][
2
]
=
-
0
.
2705984
f
;
U
(
pm
)
.
m
[
1
][
2
]
=
0
.
9619395
f
;
U
(
pm
)
.
m
[
2
][
2
]
=
0
.
03
806049
f
;
U
(
pm
)
.
m
[
3
][
2
]
=
10
.
0
f
;
U
(
pm
)
.
m
[
0
][
3
]
=
0
.
0
f
;
U
(
pm
)
.
m
[
1
][
3
]
=
0
.
0
f
;
U
(
pm
)
.
m
[
2
][
3
]
=
0
.
0
f
;
U
(
pm
)
.
m
[
3
][
3
]
=
1
.
0
f
;
exp_scale
.
x
=
1
.
0
f
;
exp_scale
.
y
=
1
.
0
f
;
...
...
@@ -249,22 +249,22 @@ static void test_Matrix_Decompose(void)
/*__________*/
pm
.
m
[
0
][
0
]
=
-
0
.
9238790
f
;
pm
.
m
[
1
][
0
]
=
-
0
.
5411968
f
;
pm
.
m
[
2
][
0
]
=
0
.
8117952
f
;
pm
.
m
[
3
][
0
]
=
-
5
.
0
f
;
pm
.
m
[
0
][
1
]
=
0
.
2705984
f
;
pm
.
m
[
1
][
1
]
=
0
.
076120
98
f
;
pm
.
m
[
2
][
1
]
=
2
.
8858185
f
;
pm
.
m
[
3
][
1
]
=
0
.
0
f
;
pm
.
m
[
0
][
2
]
=
-
0
.
2705984
f
;
pm
.
m
[
1
][
2
]
=
1
.
9238790
f
;
pm
.
m
[
2
][
2
]
=
0
.
11418147
f
;
pm
.
m
[
3
][
2
]
=
10
.
0
f
;
pm
.
m
[
0
][
3
]
=
0
.
0
f
;
pm
.
m
[
1
][
3
]
=
0
.
0
f
;
pm
.
m
[
2
][
3
]
=
0
.
0
f
;
pm
.
m
[
3
][
3
]
=
1
.
0
f
;
U
(
pm
)
.
m
[
0
][
0
]
=
-
0
.
9238790
f
;
U
(
pm
)
.
m
[
1
][
0
]
=
-
0
.
5411968
f
;
U
(
pm
)
.
m
[
2
][
0
]
=
0
.
8117952
f
;
U
(
pm
)
.
m
[
3
][
0
]
=
-
5
.
0
f
;
U
(
pm
)
.
m
[
0
][
1
]
=
0
.
2705984
f
;
U
(
pm
)
.
m
[
1
][
1
]
=
0
.
076120
98
f
;
U
(
pm
)
.
m
[
2
][
1
]
=
2
.
8858185
f
;
U
(
pm
)
.
m
[
3
][
1
]
=
0
.
0
f
;
U
(
pm
)
.
m
[
0
][
2
]
=
-
0
.
2705984
f
;
U
(
pm
)
.
m
[
1
][
2
]
=
1
.
9238790
f
;
U
(
pm
)
.
m
[
2
][
2
]
=
0
.
11418147
f
;
U
(
pm
)
.
m
[
3
][
2
]
=
10
.
0
f
;
U
(
pm
)
.
m
[
0
][
3
]
=
0
.
0
f
;
U
(
pm
)
.
m
[
1
][
3
]
=
0
.
0
f
;
U
(
pm
)
.
m
[
2
][
3
]
=
0
.
0
f
;
U
(
pm
)
.
m
[
3
][
3
]
=
1
.
0
f
;
exp_scale
.
x
=
1
.
0
f
;
exp_scale
.
y
=
2
.
0
f
;
...
...
@@ -287,22 +287,22 @@ static void test_Matrix_Decompose(void)
/*__________*/
pm
.
m
[
0
][
0
]
=
0
.
7156004
f
;
pm
.
m
[
1
][
0
]
=
-
0
.
5098283
f
;
pm
.
m
[
2
][
0
]
=
-
0
.
4774843
f
;
pm
.
m
[
3
][
0
]
=
-
5
.
0
f
;
pm
.
m
[
0
][
1
]
=
-
0
.
6612288
f
;
pm
.
m
[
1
][
1
]
=
-
0
.
7147621
f
;
pm
.
m
[
2
][
1
]
=
-
0
.
2277977
f
;
pm
.
m
[
3
][
1
]
=
0
.
0
f
;
pm
.
m
[
0
][
2
]
=
-
0
.
2251499
f
;
pm
.
m
[
1
][
2
]
=
0
.
4787385
f
;
pm
.
m
[
2
][
2
]
=
-
0
.
8485972
f
;
pm
.
m
[
3
][
2
]
=
10
.
0
f
;
pm
.
m
[
0
][
3
]
=
0
.
0
f
;
pm
.
m
[
1
][
3
]
=
0
.
0
f
;
pm
.
m
[
2
][
3
]
=
0
.
0
f
;
pm
.
m
[
3
][
3
]
=
1
.
0
f
;
U
(
pm
)
.
m
[
0
][
0
]
=
0
.
7156004
f
;
U
(
pm
)
.
m
[
1
][
0
]
=
-
0
.
5098283
f
;
U
(
pm
)
.
m
[
2
][
0
]
=
-
0
.
4774843
f
;
U
(
pm
)
.
m
[
3
][
0
]
=
-
5
.
0
f
;
U
(
pm
)
.
m
[
0
][
1
]
=
-
0
.
6612288
f
;
U
(
pm
)
.
m
[
1
][
1
]
=
-
0
.
7147621
f
;
U
(
pm
)
.
m
[
2
][
1
]
=
-
0
.
2277977
f
;
U
(
pm
)
.
m
[
3
][
1
]
=
0
.
0
f
;
U
(
pm
)
.
m
[
0
][
2
]
=
-
0
.
2251499
f
;
U
(
pm
)
.
m
[
1
][
2
]
=
0
.
4787385
f
;
U
(
pm
)
.
m
[
2
][
2
]
=
-
0
.
8485972
f
;
U
(
pm
)
.
m
[
3
][
2
]
=
10
.
0
f
;
U
(
pm
)
.
m
[
0
][
3
]
=
0
.
0
f
;
U
(
pm
)
.
m
[
1
][
3
]
=
0
.
0
f
;
U
(
pm
)
.
m
[
2
][
3
]
=
0
.
0
f
;
U
(
pm
)
.
m
[
3
][
3
]
=
1
.
0
f
;
exp_scale
.
x
=
1
.
0
f
;
exp_scale
.
y
=
1
.
0
f
;
...
...
@@ -325,22 +325,22 @@ static void test_Matrix_Decompose(void)
/*_____________*/
pm
.
m
[
0
][
0
]
=
0
.
06554436
f
;
pm
.
m
[
1
][
0
]
=
-
0
.
6873012
f
;
pm
.
m
[
2
][
0
]
=
0
.
7234092
f
;
pm
.
m
[
3
][
0
]
=
-
5
.
0
f
;
pm
.
m
[
0
][
1
]
=
-
0
.
9617381
f
;
pm
.
m
[
1
][
1
]
=
-
0
.
2367795
f
;
pm
.
m
[
2
][
1
]
=
-
0
.
1378230
f
;
pm
.
m
[
3
][
1
]
=
0
.
0
f
;
pm
.
m
[
0
][
2
]
=
0
.
2660144
f
;
pm
.
m
[
1
][
2
]
=
-
0
.
6866967
f
;
pm
.
m
[
2
][
2
]
=
-
0
.
6765233
f
;
pm
.
m
[
3
][
2
]
=
10
.
0
f
;
pm
.
m
[
0
][
3
]
=
0
.
0
f
;
pm
.
m
[
1
][
3
]
=
0
.
0
f
;
pm
.
m
[
2
][
3
]
=
0
.
0
f
;
pm
.
m
[
3
][
3
]
=
1
.
0
f
;
U
(
pm
)
.
m
[
0
][
0
]
=
0
.
06554436
f
;
U
(
pm
)
.
m
[
1
][
0
]
=
-
0
.
6873012
f
;
U
(
pm
)
.
m
[
2
][
0
]
=
0
.
7234092
f
;
U
(
pm
)
.
m
[
3
][
0
]
=
-
5
.
0
f
;
U
(
pm
)
.
m
[
0
][
1
]
=
-
0
.
9617381
f
;
U
(
pm
)
.
m
[
1
][
1
]
=
-
0
.
2367795
f
;
U
(
pm
)
.
m
[
2
][
1
]
=
-
0
.
1378230
f
;
U
(
pm
)
.
m
[
3
][
1
]
=
0
.
0
f
;
U
(
pm
)
.
m
[
0
][
2
]
=
0
.
2660144
f
;
U
(
pm
)
.
m
[
1
][
2
]
=
-
0
.
6866967
f
;
U
(
pm
)
.
m
[
2
][
2
]
=
-
0
.
6765233
f
;
U
(
pm
)
.
m
[
3
][
2
]
=
10
.
0
f
;
U
(
pm
)
.
m
[
0
][
3
]
=
0
.
0
f
;
U
(
pm
)
.
m
[
1
][
3
]
=
0
.
0
f
;
U
(
pm
)
.
m
[
2
][
3
]
=
0
.
0
f
;
U
(
pm
)
.
m
[
3
][
3
]
=
1
.
0
f
;
exp_scale
.
x
=
1
.
0
f
;
exp_scale
.
y
=
1
.
0
f
;
...
...
@@ -363,22 +363,22 @@ static void test_Matrix_Decompose(void)
/*_________*/
pm
.
m
[
0
][
0
]
=
7
.
121047
f
;
pm
.
m
[
1
][
0
]
=
-
5
.
883487
f
;
pm
.
m
[
2
][
0
]
=
11
.
81843
f
;
pm
.
m
[
3
][
0
]
=
-
5
.
0
f
;
pm
.
m
[
0
][
1
]
=
5
.
883487
f
;
pm
.
m
[
1
][
1
]
=
-
10
.
60660
f
;
pm
.
m
[
2
][
1
]
=
-
8
.
825232
f
;
pm
.
m
[
3
][
1
]
=
0
.
0
f
;
pm
.
m
[
0
][
2
]
=
11
.
81843
f
;
pm
.
m
[
1
][
2
]
=
8
.
8252320
f
;
pm
.
m
[
2
][
2
]
=
-
2
.
727645
f
;
pm
.
m
[
3
][
2
]
=
2
.
0
f
;
pm
.
m
[
0
][
3
]
=
0
.
0
f
;
pm
.
m
[
1
][
3
]
=
0
.
0
f
;
pm
.
m
[
2
][
3
]
=
0
.
0
f
;
pm
.
m
[
3
][
3
]
=
1
.
0
f
;
U
(
pm
)
.
m
[
0
][
0
]
=
7
.
121047
f
;
U
(
pm
)
.
m
[
1
][
0
]
=
-
5
.
883487
f
;
U
(
pm
)
.
m
[
2
][
0
]
=
11
.
81843
f
;
U
(
pm
)
.
m
[
3
][
0
]
=
-
5
.
0
f
;
U
(
pm
)
.
m
[
0
][
1
]
=
5
.
883487
f
;
U
(
pm
)
.
m
[
1
][
1
]
=
-
10
.
60660
f
;
U
(
pm
)
.
m
[
2
][
1
]
=
-
8
.
825232
f
;
U
(
pm
)
.
m
[
3
][
1
]
=
0
.
0
f
;
U
(
pm
)
.
m
[
0
][
2
]
=
11
.
81843
f
;
U
(
pm
)
.
m
[
1
][
2
]
=
8
.
8252320
f
;
U
(
pm
)
.
m
[
2
][
2
]
=
-
2
.
727645
f
;
U
(
pm
)
.
m
[
3
][
2
]
=
2
.
0
f
;
U
(
pm
)
.
m
[
0
][
3
]
=
0
.
0
f
;
U
(
pm
)
.
m
[
1
][
3
]
=
0
.
0
f
;
U
(
pm
)
.
m
[
2
][
3
]
=
0
.
0
f
;
U
(
pm
)
.
m
[
3
][
3
]
=
1
.
0
f
;
exp_scale
.
x
=
15
.
0
f
;
exp_scale
.
y
=
15
.
0
f
;
...
...
@@ -401,22 +401,22 @@ static void test_Matrix_Decompose(void)
/*__________*/
pm
.
m
[
0
][
0
]
=
0
.
0
f
;
pm
.
m
[
1
][
0
]
=
4
.
0
f
;
pm
.
m
[
2
][
0
]
=
5
.
0
f
;
pm
.
m
[
3
][
0
]
=
-
5
.
0
f
;
pm
.
m
[
0
][
1
]
=
0
.
0
f
;
pm
.
m
[
1
][
1
]
=
-
10
.
60660
f
;
pm
.
m
[
2
][
1
]
=
-
8
.
825232
f
;
pm
.
m
[
3
][
1
]
=
6
.
0
f
;
pm
.
m
[
0
][
2
]
=
0
.
0
f
;
pm
.
m
[
1
][
2
]
=
8
.
8252320
f
;
pm
.
m
[
2
][
2
]
=
2
.
727645
;
pm
.
m
[
3
][
2
]
=
3
.
0
f
;
pm
.
m
[
0
][
3
]
=
0
.
0
f
;
pm
.
m
[
1
][
3
]
=
0
.
0
f
;
pm
.
m
[
2
][
3
]
=
0
.
0
f
;
pm
.
m
[
3
][
3
]
=
1
.
0
f
;
U
(
pm
)
.
m
[
0
][
0
]
=
0
.
0
f
;
U
(
pm
)
.
m
[
1
][
0
]
=
4
.
0
f
;
U
(
pm
)
.
m
[
2
][
0
]
=
5
.
0
f
;
U
(
pm
)
.
m
[
3
][
0
]
=
-
5
.
0
f
;
U
(
pm
)
.
m
[
0
][
1
]
=
0
.
0
f
;
U
(
pm
)
.
m
[
1
][
1
]
=
-
10
.
60660
f
;
U
(
pm
)
.
m
[
2
][
1
]
=
-
8
.
825232
f
;
U
(
pm
)
.
m
[
3
][
1
]
=
6
.
0
f
;
U
(
pm
)
.
m
[
0
][
2
]
=
0
.
0
f
;
U
(
pm
)
.
m
[
1
][
2
]
=
8
.
8252320
f
;
U
(
pm
)
.
m
[
2
][
2
]
=
2
.
727645
;
U
(
pm
)
.
m
[
3
][
2
]
=
3
.
0
f
;
U
(
pm
)
.
m
[
0
][
3
]
=
0
.
0
f
;
U
(
pm
)
.
m
[
1
][
3
]
=
0
.
0
f
;
U
(
pm
)
.
m
[
2
][
3
]
=
0
.
0
f
;
U
(
pm
)
.
m
[
3
][
3
]
=
1
.
0
f
;
hr
=
D3DXMatrixDecompose
(
&
got_scale
,
&
got_rotation
,
&
got_translation
,
&
pm
);
ok
(
hr
==
D3DERR_INVALIDCALL
,
"Expected D3DERR_INVALIDCALL, got %x
\n
"
,
hr
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment