dvander@372: /** dvander@375: * vim: set ts=4 : dvander@372: * ================================================================ dvander@376: * SourcePawn, Copyright (C) 2004-2007 AlliedModders LLC. dvander@376: * All rights reserved. dvander@372: * ================================================================ dvander@372: * dvander@379: * This file is part of the SourceMod/SourcePawn SDK. This file may only be dvander@379: * used or modified under the Terms and Conditions of its License Agreement, dvander@379: * which is found in public/licenses/LICENSE.txt. As of this notice, derivative dvander@379: * works must be licensed under the GNU General Public License (version 2 or dvander@379: * greater). A copy of the GPL is included under public/licenses/GPL.txt. dvander@379: * dvander@379: * To view the latest information, see: http://www.sourcemod.net/license.php dvander@372: * dvander@372: * Version: $Id$ dvander@372: */ dvander@372: dvander@324: #ifndef _INCLUDE_SOURCEPAWN_VM_TYPEUTIL_H_ dvander@324: #define _INCLUDE_SOURCEPAWN_VM_TYPEUTIL_H_ dvander@324: dvander@372: /** dvander@372: * @file sp_typeutil.h dvander@372: * @brief Defines type utility functions. dvander@372: */ dvander@372: dvander@324: #include "sp_vm_types.h" dvander@324: dvander@372: /** dvander@372: * @brief Reinterpret-casts a float to a cell (requires -fno-strict-aliasing for GCC). dvander@372: * dvander@372: * @param val Float value. dvander@372: * @return Cell typed version. dvander@372: */ dvander@324: inline cell_t sp_ftoc(float val) dvander@324: { dvander@324: return *(cell_t *)&val; dvander@324: } dvander@372: dvander@372: /** dvander@372: * @brief Reinterpret-casts a cell to a float (requires -fno-strict-aliasing for GCC). dvander@372: * dvander@372: * @param val Cell-packed float value. dvander@372: * @return Float typed version. dvander@372: */ dvander@324: inline float sp_ctof(cell_t val) dvander@324: { dvander@324: return *(float *)&val; dvander@324: } dvander@324: dvander@351: #endif //_INCLUDE_SOURCEPAWN_VM_TYPEUTIL_H_ dvander@351: