![Mark Vejvoda](/assets/img/avatar_default.png)
see Table glestserver now has the field: gameUUID Table glestgamestats has game header stats Table glestgameplayerstats has game player stats
109 lines
3.6 KiB
C++
109 lines
3.6 KiB
C++
/*============================================================================
|
|
PROMINENT NOTICE: THIS IS A DERIVATIVE WORK OF THE ORIGINAL SOFTFLOAT CODE
|
|
CHANGES:
|
|
Removed processors include
|
|
This file serves as a bridge to the streflop system
|
|
|
|
Copyright 2006 Nicolas Brodu
|
|
2012 Mark Vejvoda
|
|
|
|
=============================================================================*/
|
|
|
|
/*============================================================================
|
|
|
|
This C header file is part of the SoftFloat IEC/IEEE Floating-point Arithmetic
|
|
Package, Release 2b.
|
|
|
|
Written by John R. Hauser. This work was made possible in part by the
|
|
International Computer Science Institute, located at Suite 600, 1947 Center
|
|
Street, Berkeley, California 94704. Funding was partially provided by the
|
|
National Science Foundation under grant MIP-9311980. The original version
|
|
of this code was written as part of a project to build a fixed-point vector
|
|
processor in collaboration with the University of California at Berkeley,
|
|
overseen by Profs. Nelson Morgan and John Wawrzynek. More information
|
|
is available through the Web page `http://www.cs.berkeley.edu/~jhauser/
|
|
arithmetic/SoftFloat.html'.
|
|
|
|
THIS SOFTWARE IS DISTRIBUTED AS IS, FOR FREE. Although reasonable effort has
|
|
been made to avoid it, THIS SOFTWARE MAY CONTAIN FAULTS THAT WILL AT TIMES
|
|
RESULT IN INCORRECT BEHAVIOR. USE OF THIS SOFTWARE IS RESTRICTED TO PERSONS
|
|
AND ORGANIZATIONS WHO CAN AND WILL TAKE FULL RESPONSIBILITY FOR ALL LOSSES,
|
|
COSTS, OR OTHER PROBLEMS THEY INCUR DUE TO THE SOFTWARE, AND WHO FURTHERMORE
|
|
EFFECTIVELY INDEMNIFY JOHN HAUSER AND THE INTERNATIONAL COMPUTER SCIENCE
|
|
INSTITUTE (possibly via similar legal warning) AGAINST ALL LOSSES, COSTS, OR
|
|
OTHER PROBLEMS INCURRED BY THEIR CUSTOMERS AND CLIENTS DUE TO THE SOFTWARE.
|
|
|
|
Derivative works are acceptable, even for commercial purposes, so long as
|
|
(1) the source code for the derivative work includes prominent notice that
|
|
the work is derivative, and (2) the source code includes prominent notice with
|
|
these four paragraphs for those parts of this code that are retained.
|
|
|
|
=============================================================================*/
|
|
|
|
/*----------------------------------------------------------------------------
|
|
| Include common integer types and flags.
|
|
*----------------------------------------------------------------------------*/
|
|
#ifdef STREFLOP_SOFT
|
|
|
|
#include "../System.h"
|
|
|
|
|
|
namespace streflop {
|
|
namespace SoftFloat {
|
|
|
|
// Use the types from System.h, some could be more "convenient"
|
|
typedef int8_t flag;
|
|
typedef uint8_t uint8;
|
|
typedef int8_t int8;
|
|
typedef uint16_t uint16;
|
|
typedef int16_t int16;
|
|
typedef uint32_t uint32;
|
|
typedef int32_t int32;
|
|
typedef uint64_t uint64;
|
|
typedef int64_t int64;
|
|
// And these are exact by construction
|
|
typedef uint8_t bits8;
|
|
typedef int8_t sbits8;
|
|
typedef uint16_t bits16;
|
|
typedef int16_t sbits16;
|
|
typedef uint32_t bits32;
|
|
typedef int32_t sbits32;
|
|
typedef uint64_t bits64;
|
|
typedef int64_t sbits64;
|
|
|
|
|
|
// softfloat needs boolean TRUE/FALSE
|
|
#undef TRUE
|
|
#undef FALSE
|
|
enum {
|
|
FALSE = 0,
|
|
TRUE = 1
|
|
};
|
|
|
|
// Streflop Bridge: Complete the missing defined that were in the processor files
|
|
#if __FLOAT_WORD_ORDER == 1234
|
|
#ifndef LITTLEENDIAN
|
|
#define LITTLEENDIAN
|
|
#endif
|
|
#elif __FLOAT_WORD_ORDER == 4321
|
|
#ifndef BIGENDIAN
|
|
#define BIGENDIAN
|
|
#endif
|
|
#endif
|
|
|
|
// 64-bit int types are assumed to exist in other parts of streflop
|
|
#define BITS64
|
|
|
|
// How to define a long long 64-bit constant
|
|
#define LIT64( a ) a##LL
|
|
|
|
// From original comment: If a compiler does not support explicit inlining,
|
|
// this macro should be defined to be 'static'.
|
|
// However, with C++, this has become obsolete
|
|
#define INLINE extern inline
|
|
|
|
}
|
|
}
|
|
|
|
#endif
|