File: FMInteger.h

package info (click to toggle)
0ad 0.0.23.1-2
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 78,292 kB
  • sloc: cpp: 245,166; ansic: 200,249; python: 13,754; sh: 6,104; perl: 4,620; makefile: 977; xml: 810; java: 533; ruby: 229; erlang: 46; pascal: 30; sql: 21; tcl: 4
file content (51 lines) | stat: -rw-r--r-- 2,156 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
/*
	Copyright (C) 2005-2007 Feeling Software Inc.
	Portions of the code are:
	Copyright (C) 2005-2007 Sony Computer Entertainment America
	
	MIT License: http://www.opensource.org/licenses/mit-license.php
*/

/**
	@file FMInteger.h
	The file containing functions and constants for integer values.
 */

#ifndef _FM_INTEGER_H_
#define _FM_INTEGER_H_

/** A dynamically-sized array of 32-bit signed integer values. */
typedef fm::vector<int32, true> Int32List;
/** A dynamically-sized array of 32-bit unsigned integer values. */
typedef fm::vector<uint32, true> UInt32List;
/** A dynamically-sized array of 16-bit unsigned integer values. */
typedef fm::vector<uint16, true> UInt16List;
/** A dynamically-sized array of 8-bit unsigned integer values. */
typedef fm::vector<uint8, true> UInt8List;
/** A dynamically-sized array of 8-bit signed integer values. */
typedef fm::vector<int8, true> Int8List;
/** A dynamically-sized array of boolean values. */
typedef fm::vector<bool, true> BooleanList;

/** Returns whether two signed or unsigned integers are equivalent.
	For integers, this function simply wraps around the operator==.
	@param i1 A first integer.
	@param i2 A second integer.
	@return Whether the two integers are equivalent. */
inline bool IsEquivalent(int8 i1, int8 i2) { return i1 == i2; }
inline bool IsEquivalent(uint8 i1, uint8 i2) { return i1 == i2; } /**< See above. */
inline bool IsEquivalent(int16 i1, int16 i2) { return i1 == i2; } /**< See above. */
inline bool IsEquivalent(uint16 i1, uint16 i2) { return i1 == i2; } /**< See above. */
inline bool IsEquivalent(int32 i1, int32 i2) { return i1 == i2; } /**< See above. */
inline bool IsEquivalent(uint32 i1, uint32 i2) { return i1 == i2; } /**< See above. */
inline bool IsEquivalent(int64 i1, int64 i2) { return i1 == i2; } /**< See above. */
inline bool IsEquivalent(uint64 i1, uint64 i2) { return i1 == i2; } /**< See above. */

/** Returns whether two Booleans are equivalent.
	@param b1 A first Boolean.
	@param b2 A second Boolean.
	@return Whether the two Booleans are equivalent. */
inline bool IsEquivalent(bool b1, bool b2) { return b1 == b2; }

#endif // _FM_INTEGER_H_