Fixed major bug in TranslatePoint (was accidently loading a value to edx
instead of edi). Failed to get anything comprehendible on screen.
This commit is contained in:
parent
9e5b7f430d
commit
a113617c02
6 changed files with 62 additions and 128 deletions
113
src/mathline.c
113
src/mathline.c
|
@ -543,119 +543,6 @@ typedef struct matrixch {
|
|||
|
||||
*/
|
||||
|
||||
#if 0 /* TODO if these are needed */
|
||||
static void RotateVector_ASM(VECTORCH *v, MATRIXCH *m)
|
||||
{
|
||||
_asm
|
||||
{
|
||||
mov esi,v
|
||||
mov edi,m
|
||||
|
||||
mov eax,[edi + 0]
|
||||
imul DWORD PTR [esi + 0]
|
||||
shrd eax,edx,16
|
||||
mov ecx,eax
|
||||
mov eax,[edi + 12]
|
||||
imul DWORD PTR [esi + 4]
|
||||
shrd eax,edx,16
|
||||
add ecx,eax
|
||||
mov eax,[edi + 24]
|
||||
imul DWORD PTR [esi + 8]
|
||||
shrd eax,edx,16
|
||||
add ecx,eax
|
||||
|
||||
mov eax,[edi + 4]
|
||||
imul DWORD PTR [esi + 0]
|
||||
shrd eax,edx,16
|
||||
mov ebx,eax
|
||||
mov eax,[edi + 16]
|
||||
imul DWORD PTR [esi + 4]
|
||||
shrd eax,edx,16
|
||||
add ebx,eax
|
||||
mov eax,[edi + 28]
|
||||
imul DWORD PTR [esi + 8]
|
||||
shrd eax,edx,16
|
||||
add ebx,eax
|
||||
|
||||
mov eax,[edi + 8]
|
||||
imul DWORD PTR [esi + 0]
|
||||
shrd eax,edx,16
|
||||
mov ebp,eax
|
||||
mov eax,[edi + 20]
|
||||
imul DWORD PTR [esi + 4]
|
||||
shrd eax,edx,16
|
||||
add ebp,eax
|
||||
mov eax,[edi + 32]
|
||||
imul DWORD PTR [esi + 8]
|
||||
shrd eax,edx,16
|
||||
add ebp,eax
|
||||
|
||||
mov [esi + 0],ecx
|
||||
mov [esi + 4],ebx
|
||||
mov [esi + 8],ebp
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
Here is the same function, this time copying the result to a second vector
|
||||
|
||||
*/
|
||||
|
||||
static void RotateAndCopyVector_ASM(VECTORCH *v1, VECTORCH *v2, MATRIXCH *m)
|
||||
{
|
||||
_asm
|
||||
{
|
||||
mov esi,v1
|
||||
mov edi,m
|
||||
|
||||
mov eax,[edi + 0]
|
||||
imul DWORD PTR [esi + 0]
|
||||
shrd eax,edx,16
|
||||
mov ecx,eax
|
||||
mov eax,[edi + 12]
|
||||
imul DWORD PTR [esi + 4]
|
||||
shrd eax,edx,16
|
||||
add ecx,eax
|
||||
mov eax,[edi + 24]
|
||||
imul DWORD PTR [esi + 8]
|
||||
shrd eax,edx,16
|
||||
add ecx,eax
|
||||
|
||||
mov eax,[edi + 4]
|
||||
imul DWORD PTR [esi + 0]
|
||||
shrd eax,edx,16
|
||||
mov ebx,eax
|
||||
mov eax,[edi + 16]
|
||||
imul DWORD PTR [esi + 4]
|
||||
shrd eax,edx,16
|
||||
add ebx,eax
|
||||
mov eax,[edi + 28]
|
||||
imul DWORD PTR [esi + 8]
|
||||
shrd eax,edx,16
|
||||
add ebx,eax
|
||||
|
||||
mov eax,[edi + 8]
|
||||
imul DWORD PTR [esi + 0]
|
||||
shrd eax,edx,16
|
||||
mov ebp,eax
|
||||
mov eax,[edi + 20]
|
||||
imul DWORD PTR [esi + 4]
|
||||
shrd eax,edx,16
|
||||
add ebp,eax
|
||||
mov eax,[edi + 32]
|
||||
imul DWORD PTR [esi + 8]
|
||||
shrd eax,edx,16
|
||||
add ebp,eax
|
||||
|
||||
mov edx,v2
|
||||
mov [edx + 0],ecx
|
||||
mov [edx + 4],ebx
|
||||
mov [edx + 8],ebp
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
/*
|
||||
|
||||
Square Root
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue