diff options
author | zakk <zakk@edf5b092-35ff-0310-97b2-ce42778d08ea> | 2005-08-26 17:39:27 +0000 |
---|---|---|
committer | zakk <zakk@edf5b092-35ff-0310-97b2-ce42778d08ea> | 2005-08-26 17:39:27 +0000 |
commit | 6bf20c78f5b69d40bcc4931df93d29198435ab67 (patch) | |
tree | e3eda937a05d7db42de725b7013bd0344b987f34 /code/unix/ftol.nasm | |
parent | 872d4d7f55af706737ffb361bb76ad13e7496770 (diff) | |
download | ioquake3-aero-6bf20c78f5b69d40bcc4931df93d29198435ab67.tar.gz ioquake3-aero-6bf20c78f5b69d40bcc4931df93d29198435ab67.zip |
newlines fixed
git-svn-id: svn://svn.icculus.org/quake3/trunk@6 edf5b092-35ff-0310-97b2-ce42778d08ea
Diffstat (limited to 'code/unix/ftol.nasm')
-rwxr-xr-x | code/unix/ftol.nasm | 302 |
1 files changed, 151 insertions, 151 deletions
diff --git a/code/unix/ftol.nasm b/code/unix/ftol.nasm index 772e6a0..131dfc6 100755 --- a/code/unix/ftol.nasm +++ b/code/unix/ftol.nasm @@ -1,151 +1,151 @@ -;===========================================================================
-;Copyright (C) 1999-2005 Id Software, Inc.
-;
-;This file is part of Quake III Arena source code.
-;
-;Quake III Arena source code is free software; you can redistribute it
-;and/or modify it under the terms of the GNU General Public License as
-;published by the Free Software Foundation; either version 2 of the License,
-;or (at your option) any later version.
-;
-;Quake III Arena source code is distributed in the hope that it will be
-;useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
-;MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;GNU General Public License for more details.
-;
-;You should have received a copy of the GNU General Public License
-;along with Foobar; if not, write to the Free Software
-;Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-;===========================================================================
-
-;
-; qftol -- fast floating point to long conversion.
-;
-
-segment .data
-
-temp dd 0.0
-fpucw dd 0
-
-; Precision Control Field , 2 bits / 0x0300
-; PC24 0x0000 Single precision (24 bits).
-; PC53 0x0200 Double precision (53 bits).
-; PC64 0x0300 Extended precision (64 bits).
-
-; Rounding Control Field, 2 bits / 0x0C00
-; RCN 0x0000 Rounding to nearest (even).
-; RCD 0x0400 Rounding down (directed, minus).
-; RCU 0x0800 Rounding up (directed plus).
-; RC0 0x0C00 Rounding towards zero (chop mode).
-
-
-; rounding towards nearest (even)
-cw027F dd 0x027F ; double precision
-cw037F dd 0x037F ; extended precision
-
-; rounding towards zero (chop mode)
-cw0E7F dd 0x0E7F ; double precision
-cw0F7F dd 0x0F7F ; extended precision
-
-
-segment .text
-
-;
-; int qftol( void ) - default control word
-;
-
-global qftol
-
-qftol:
- fistp dword [temp]
- mov eax, [temp]
- ret
-
-
-;
-; int qftol027F( void ) - DirectX FPU
-;
-
-global qftol027F
-
-qftol027F:
- fnstcw [fpucw]
- fldcw [cw027F]
- fistp dword [temp]
- fldcw [fpucw]
- mov eax, [temp]
- ret
-
-;
-; int qftol037F( void ) - Linux FPU
-;
-
-global qftol037F
-
-qftol037F:
- fnstcw [fpucw]
- fldcw [cw037F]
- fistp dword [temp]
- fldcw [fpucw]
- mov eax, [temp]
- ret
-
-
-;
-; int qftol0F7F( void ) - ANSI
-;
-
-global qftol0F7F
-
-qftol0F7F:
- fnstcw [fpucw]
- fldcw [cw0F7F]
- fistp dword [temp]
- fldcw [fpucw]
- mov eax, [temp]
- ret
-
-;
-; int qftol0E7F( void )
-;
-
-global qftol0E7F
-
-qftol0E7F:
- fnstcw [fpucw]
- fldcw [cw0E7F]
- fistp dword [temp]
- fldcw [fpucw]
- mov eax, [temp]
- ret
-
-
-
-;
-; long Q_ftol( float q )
-;
-
-global Q_ftol
-
-Q_ftol:
- fld dword [esp+4]
- fistp dword [temp]
- mov eax, [temp]
- ret
-
-
-;
-; long qftol0F7F( float q ) - Linux FPU
-;
-
-global Q_ftol0F7F
-
-Q_ftol0F7F:
- fnstcw [fpucw]
- fld dword [esp+4]
- fldcw [cw0F7F]
- fistp dword [temp]
- fldcw [fpucw]
- mov eax, [temp]
- ret
-
+;=========================================================================== +;Copyright (C) 1999-2005 Id Software, Inc. +; +;This file is part of Quake III Arena source code. +; +;Quake III Arena source code is free software; you can redistribute it +;and/or modify it under the terms of the GNU General Public License as +;published by the Free Software Foundation; either version 2 of the License, +;or (at your option) any later version. +; +;Quake III Arena source code is distributed in the hope that it will be +;useful, but WITHOUT ANY WARRANTY; without even the implied warranty of +;MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;GNU General Public License for more details. +; +;You should have received a copy of the GNU General Public License +;along with Foobar; if not, write to the Free Software +;Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +;=========================================================================== + +; +; qftol -- fast floating point to long conversion. +; + +segment .data + +temp dd 0.0 +fpucw dd 0 + +; Precision Control Field , 2 bits / 0x0300 +; PC24 0x0000 Single precision (24 bits). +; PC53 0x0200 Double precision (53 bits). +; PC64 0x0300 Extended precision (64 bits). + +; Rounding Control Field, 2 bits / 0x0C00 +; RCN 0x0000 Rounding to nearest (even). +; RCD 0x0400 Rounding down (directed, minus). +; RCU 0x0800 Rounding up (directed plus). +; RC0 0x0C00 Rounding towards zero (chop mode). + + +; rounding towards nearest (even) +cw027F dd 0x027F ; double precision +cw037F dd 0x037F ; extended precision + +; rounding towards zero (chop mode) +cw0E7F dd 0x0E7F ; double precision +cw0F7F dd 0x0F7F ; extended precision + + +segment .text + +; +; int qftol( void ) - default control word +; + +global qftol + +qftol: + fistp dword [temp] + mov eax, [temp] + ret + + +; +; int qftol027F( void ) - DirectX FPU +; + +global qftol027F + +qftol027F: + fnstcw [fpucw] + fldcw [cw027F] + fistp dword [temp] + fldcw [fpucw] + mov eax, [temp] + ret + +; +; int qftol037F( void ) - Linux FPU +; + +global qftol037F + +qftol037F: + fnstcw [fpucw] + fldcw [cw037F] + fistp dword [temp] + fldcw [fpucw] + mov eax, [temp] + ret + + +; +; int qftol0F7F( void ) - ANSI +; + +global qftol0F7F + +qftol0F7F: + fnstcw [fpucw] + fldcw [cw0F7F] + fistp dword [temp] + fldcw [fpucw] + mov eax, [temp] + ret + +; +; int qftol0E7F( void ) +; + +global qftol0E7F + +qftol0E7F: + fnstcw [fpucw] + fldcw [cw0E7F] + fistp dword [temp] + fldcw [fpucw] + mov eax, [temp] + ret + + + +; +; long Q_ftol( float q ) +; + +global Q_ftol + +Q_ftol: + fld dword [esp+4] + fistp dword [temp] + mov eax, [temp] + ret + + +; +; long qftol0F7F( float q ) - Linux FPU +; + +global Q_ftol0F7F + +Q_ftol0F7F: + fnstcw [fpucw] + fld dword [esp+4] + fldcw [cw0F7F] + fistp dword [temp] + fldcw [fpucw] + mov eax, [temp] + ret + |