|
@@ -44,7 +44,7 @@ struct IF<true, L, R> { typedef L type; };
|
|
|
#define NUM_AXIS_LIST_1(V) LIST_N_1(NUM_AXES, V)
|
|
|
#define NUM_AXIS_ARRAY(V...) { NUM_AXIS_LIST(V) }
|
|
|
#define NUM_AXIS_ARRAY_1(V) { NUM_AXIS_LIST_1(V) }
|
|
|
-#define NUM_AXIS_ARGS(T...) NUM_AXIS_LIST(T x, T y, T z, T i, T j, T k, T u, T v, T w)
|
|
|
+#define NUM_AXIS_ARGS(T) NUM_AXIS_LIST(T x, T y, T z, T i, T j, T k, T u, T v, T w)
|
|
|
#define NUM_AXIS_ELEM(O) NUM_AXIS_LIST(O.x, O.y, O.z, O.i, O.j, O.k, O.u, O.v, O.w)
|
|
|
#define NUM_AXIS_DEFS(T,V) NUM_AXIS_LIST(T x=V, T y=V, T z=V, T i=V, T j=V, T k=V, T u=V, T v=V, T w=V)
|
|
|
#define MAIN_AXIS_NAMES NUM_AXIS_LIST(X, Y, Z, I, J, K, U, V, W)
|
|
@@ -57,7 +57,7 @@ struct IF<true, L, R> { typedef L type; };
|
|
|
#define LOGICAL_AXIS_LIST_1(V) NUM_AXIS_LIST_1(V) LIST_ITEM_E(V)
|
|
|
#define LOGICAL_AXIS_ARRAY(E,V...) { LOGICAL_AXIS_LIST(E,V) }
|
|
|
#define LOGICAL_AXIS_ARRAY_1(V) { LOGICAL_AXIS_LIST_1(V) }
|
|
|
-#define LOGICAL_AXIS_ARGS(T...) LOGICAL_AXIS_LIST(T e, T x, T y, T z, T i, T j, T k, T u, T v, T w)
|
|
|
+#define LOGICAL_AXIS_ARGS(T) LOGICAL_AXIS_LIST(T e, T x, T y, T z, T i, T j, T k, T u, T v, T w)
|
|
|
#define LOGICAL_AXIS_ELEM(O) LOGICAL_AXIS_LIST(O.e, O.x, O.y, O.z, O.i, O.j, O.k, O.u, O.v, O.w)
|
|
|
#define LOGICAL_AXIS_DECL(T,V) LOGICAL_AXIS_LIST(T e=V, T x=V, T y=V, T z=V, T i=V, T j=V, T k=V, T u=V, T v=V, T w=V)
|
|
|
#define LOGICAL_AXIS_NAMES LOGICAL_AXIS_LIST(E, X, Y, Z, I, J, K, U, V, W)
|
|
@@ -96,14 +96,14 @@ struct Flags {
|
|
|
bits_t b;
|
|
|
typename IF<(N>8), N16, N8>::type flag;
|
|
|
};
|
|
|
- void reset() { b = 0; }
|
|
|
- void set(const int n, const bool onoff) { onoff ? set(n) : clear(n); }
|
|
|
- void set(const int n) { b |= (bits_t)_BV(n); }
|
|
|
- void clear(const int n) { b &= ~(bits_t)_BV(n); }
|
|
|
- bool test(const int n) const { return TEST(b, n); }
|
|
|
- bool operator[](const int n) { return test(n); }
|
|
|
- bool operator[](const int n) const { return test(n); }
|
|
|
- int size() const { return sizeof(b); }
|
|
|
+ void reset() { b = 0; }
|
|
|
+ void set(const int n, const bool onoff) { onoff ? set(n) : clear(n); }
|
|
|
+ void set(const int n) { b |= (bits_t)_BV(n); }
|
|
|
+ void clear(const int n) { b &= ~(bits_t)_BV(n); }
|
|
|
+ bool test(const int n) const { return TEST(b, n); }
|
|
|
+ bool operator[](const int n) { return test(n); }
|
|
|
+ bool operator[](const int n) const { return test(n); }
|
|
|
+ int size() const { return sizeof(b); }
|
|
|
};
|
|
|
|
|
|
// Specialization for a single bool flag
|
|
@@ -129,14 +129,14 @@ typedef struct AxisFlags {
|
|
|
struct Flags<LOGICAL_AXES> flags;
|
|
|
struct { bool LOGICAL_AXIS_LIST(e:1, x:1, y:1, z:1, i:1, j:1, k:1, u:1, v:1, w:1); };
|
|
|
};
|
|
|
- void reset() { flags.reset(); }
|
|
|
- void set(const int n) { flags.set(n); }
|
|
|
- void set(const int n, const bool onoff) { flags.set(n, onoff); }
|
|
|
- void clear(const int n) { flags.clear(n); }
|
|
|
- bool test(const int n) const { return flags.test(n); }
|
|
|
- bool operator[](const int n) { return flags[n]; }
|
|
|
- bool operator[](const int n) const { return flags[n]; }
|
|
|
- int size() const { return sizeof(flags); }
|
|
|
+ void reset() { flags.reset(); }
|
|
|
+ void set(const int n) { flags.set(n); }
|
|
|
+ void set(const int n, const bool onoff) { flags.set(n, onoff); }
|
|
|
+ void clear(const int n) { flags.clear(n); }
|
|
|
+ bool test(const int n) const { return flags.test(n); }
|
|
|
+ bool operator[](const int n) { return flags[n]; }
|
|
|
+ bool operator[](const int n) const { return flags[n]; }
|
|
|
+ int size() const { return sizeof(flags); }
|
|
|
} axis_flags_t;
|
|
|
|
|
|
//
|
|
@@ -188,9 +188,9 @@ typedef IF<(NUM_AXIS_ENUMS > 8), uint16_t, uint8_t>::type axis_bits_t;
|
|
|
// Loop over axes
|
|
|
//
|
|
|
#define LOOP_ABC(VAR) LOOP_S_LE_N(VAR, A_AXIS, C_AXIS)
|
|
|
-#define LOOP_NUM_AXES(VAR) LOOP_S_L_N(VAR, X_AXIS, NUM_AXES)
|
|
|
-#define LOOP_LOGICAL_AXES(VAR) LOOP_S_L_N(VAR, X_AXIS, LOGICAL_AXES)
|
|
|
-#define LOOP_DISTINCT_AXES(VAR) LOOP_S_L_N(VAR, X_AXIS, DISTINCT_AXES)
|
|
|
+#define LOOP_NUM_AXES(VAR) LOOP_S_L_N(VAR, 0, NUM_AXES)
|
|
|
+#define LOOP_LOGICAL_AXES(VAR) LOOP_S_L_N(VAR, 0, LOGICAL_AXES)
|
|
|
+#define LOOP_DISTINCT_AXES(VAR) LOOP_S_L_N(VAR, 0, DISTINCT_AXES)
|
|
|
#define LOOP_DISTINCT_E(VAR) LOOP_L_N(VAR, DISTINCT_E)
|
|
|
|
|
|
//
|