mirror of
https://github.com/id-Software/Wolf3D-iOS.git
synced 2026-03-19 16:39:49 +01:00
61 lines
1.4 KiB
C
61 lines
1.4 KiB
C
/*
|
|
|
|
Copyright (C) 1997-2001 Id Software, Inc.
|
|
|
|
This program 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.
|
|
|
|
This program 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 this program; if not, write to the Free Software
|
|
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|
|
|
*/
|
|
|
|
/*
|
|
* arch.c: Portable byte swapping.
|
|
*
|
|
* Author: Id Software, Inc.
|
|
* Date: 1997-2001
|
|
*
|
|
*/
|
|
|
|
#include "../wolfiphone.h"
|
|
|
|
|
|
/*
|
|
-----------------------------------------------------------------------------
|
|
Function: FloatSwap -Endian byte swapping on Float value.
|
|
|
|
Parameters: f -[in] Float value to byte swap.
|
|
|
|
Returns: Byte swapped float value.
|
|
|
|
Notes:
|
|
|
|
-----------------------------------------------------------------------------
|
|
*/
|
|
INLINECALL float FloatSwap( float f )
|
|
{
|
|
union
|
|
{
|
|
float f;
|
|
W8 b[ 4 ];
|
|
|
|
} dat1, dat2;
|
|
|
|
dat1.f = f;
|
|
dat2.b[ 0 ] = dat1.b[ 3 ];
|
|
dat2.b[ 1 ] = dat1.b[ 2 ];
|
|
dat2.b[ 2 ] = dat1.b[ 1 ];
|
|
dat2.b[ 3 ] = dat1.b[ 0 ];
|
|
|
|
return dat2.f;
|
|
}
|