summaryrefslogtreecommitdiffstats
path: root/core/math/math_defs.h
diff options
context:
space:
mode:
authorAaron Franke <arnfranke@yahoo.com>2018-07-20 13:09:17 -0500
committerAaron Franke <arnfranke@yahoo.com>2018-08-10 22:42:02 -0500
commit9170d932e3832c86e5e1fc09a6a555b4efd95992 (patch)
treeaa240ea68e2c79ae7e38253ffc3d33506a211c8c /core/math/math_defs.h
parent28fc19533902dbc2614c949486bb4edf9450cc05 (diff)
downloadredot-engine-9170d932e3832c86e5e1fc09a6a555b4efd95992.tar.gz
[Core] Grammar, move defs to defs
Math constant definitions belong in `math_defs.h`. Also, the grammer in these files really needed some updating.
Diffstat (limited to 'core/math/math_defs.h')
-rw-r--r--core/math/math_defs.h59
1 files changed, 50 insertions, 9 deletions
diff --git a/core/math/math_defs.h b/core/math/math_defs.h
index d3484d8d02..a5feee6eb5 100644
--- a/core/math/math_defs.h
+++ b/core/math/math_defs.h
@@ -36,30 +36,71 @@
#define CMP_NORMALIZE_TOLERANCE 0.000001
#define CMP_POINT_IN_PLANE_EPSILON 0.00001
+#define Math_SQRT12 0.7071067811865475244008443621048490
+#define Math_SQRT2 1.4142135623730950488016887242
+#define Math_LN2 0.6931471805599453094172321215
+#define Math_TAU 6.2831853071795864769252867666
+#define Math_PI 3.1415926535897932384626433833
+#define Math_E 2.7182818284590452353602874714
+#define Math_INF INFINITY
+#define Math_NAN NAN
+
#ifdef DEBUG_ENABLED
#define MATH_CHECKS
#endif
#define USEC_TO_SEC(m_usec) ((m_usec) / 1000000.0)
-/**
- * "Real" is a type that will be translated to either floats or fixed depending
- * on the compilation setting
- */
enum ClockDirection {
-
CLOCKWISE,
COUNTERCLOCKWISE
};
-#ifdef REAL_T_IS_DOUBLE
+enum Orientation {
-typedef double real_t;
+ HORIZONTAL,
+ VERTICAL
+};
-#else
+enum HAlign {
-typedef float real_t;
+ HALIGN_LEFT,
+ HALIGN_CENTER,
+ HALIGN_RIGHT
+};
+
+enum VAlign {
+
+ VALIGN_TOP,
+ VALIGN_CENTER,
+ VALIGN_BOTTOM
+};
+enum Margin {
+
+ MARGIN_LEFT,
+ MARGIN_TOP,
+ MARGIN_RIGHT,
+ MARGIN_BOTTOM
+};
+
+enum Corner {
+
+ CORNER_TOP_LEFT,
+ CORNER_TOP_RIGHT,
+ CORNER_BOTTOM_RIGHT,
+ CORNER_BOTTOM_LEFT
+};
+
+/**
+ * The "Real" type is an abstract type used for real numbers, such as 1.5,
+ * in contrast to integer numbers. Precision can be controlled with the
+ * presence or absence of the REAL_T_IS_DOUBLE define.
+ */
+#ifdef REAL_T_IS_DOUBLE
+typedef double real_t;
+#else
+typedef float real_t;
#endif
#endif // MATH_DEFS_H