Roguelike
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros
utils.h
Go to the documentation of this file.
1 #ifndef ROGUELIKE_UTILS_H_
2 #define ROGUELIKE_UTILS_H_
3 
4 namespace utils {
5 
6 namespace enums {
7 namespace ord {
8 enum Ord {
9  LT = -1,
10  EQ = 0,
11  GT = 1,
12 
13  INC = -2,
14  ERR = -3
15 };
16 }
17 }
18 
19 // Compares doubles taking into account their imprecision.
20 // Returns ord::LT (-1) if a<b, ord::EQ (0) if a~==b, ord::GT (1) if a>b, ord::INC (-2) if a and b are infinites.
21 // Also returns ord::ERR (-3) if you try to compare a NaN.
22 // Note: "CompareDoubles(a,b) == ord::EQ && CompareDoubles(b,c) == ord::EQ && CompareDoubles(a,c) == ord::LT" might be true.
23 enums::ord::Ord CompareDoubles(double a, double b);
24 
25 // Derp
26 enums::ord::Ord CompareInts(int a, int b);
27 
28 } // namespace utils
29 
30 #endif
Ord
Definition: utils.h:8
ord::Ord CompareDoubles(double a, double b)
Definition: utils.cc:16
Definition: utils.h:11
Definition: utils.h:9
ord::Ord CompareInts(int a, int b)
Definition: utils.cc:70
Definition: utils.cc:8
Definition: utils.h:14
Definition: utils.h:10
Definition: utils.h:13