47 #define PI_GRECO 3.14159265358979323846f
62 return x * PI_GRECO / 180.0f;
74 return x - (floor(x / (2.0 * PI_GRECO)) * 2.0 * PI_GRECO);
87 return (n > PI_GRECO) ? (n - 2.0 * PI_GRECO) : n;
99 return x * 180.0f / PI_GRECO;
111 return x - (floor(x / 360.0) * 360.0);
124 return (n > 180.0) ? (n - 360.0) : n;
135 template<
class T,
class U>
136 FARSA_UTIL_TEMPLATE
const T
min(
const T& t1,
const U& t2)
153 template<
class T,
class U>
154 FARSA_UTIL_TEMPLATE
const T
max(
const T& t1,
const U& t2)
177 }
else if (value < minv) {
201 inline FARSA_UTIL_TEMPLATE
float linearMap(
float x,
float min = -10,
float max = 10,
float outMin = -1,
float outMax = 1)
203 float m = ( outMax-outMin )/(
max-
min );
204 float q = outMin - m*
min;
208 }
else if (ret > outMax) {
232 inline FARSA_UTIL_TEMPLATE
float invLinearMap(
float x,
float min = -10,
float max = 10,
float outMin = -1,
float outMax = 1)
234 double m = -( outMax-outMin )/(
max-
min );
235 double q = outMax - m*
min;
239 }
else if (ret > outMax) {
252 #define isnan(x) _isnan(x)
253 #define isinf(x) (!_finite(x))
255 #define isnan(x) std::isnan(x)
256 #define isinf(x) std::isinf(x)
265 #define FARSA_TEST_NAN(__V__) if (isnan(__V__)) { qFatal("Variable " #__V__ " has and invalid value: NaN in %s at line %d", __FILE__, __LINE__); }
273 #define FARSA_TEST_INF(__V__) if (isinf(__V__)) { qFatal("Variable " #__V__ " has and invalid value: Infinite in %s at line %d", __FILE__, __LINE__); }
281 #define FARSA_TEST_INVALID(__V__) if (isnan(__V__)) { qFatal("Variable " #__V__ " has and invalid value: NaN in %s at line %d", __FILE__, __LINE__); } else if (isinf(__V__)) { qFatal("Variable " #__V__ " has and invalid value: Infinite in %s at line %d", __FILE__, __LINE__); }
289 #define FARSA_DEBUG_TEST_NAN(__V__) FARSA_TEST_NAN(__V__)
291 #define FARSA_DEBUG_TEST_NAN(__V__)
300 #define FARSA_DEBUG_TEST_INF(__V__) FARSA_TEST_INF(__V__)
302 #define FARSA_DEBUG_TEST_INF(__V__)
311 #define FARSA_DEBUG_TEST_INVALID(__V__) FARSA_TEST_INVALID(__V__)
313 #define FARSA_DEBUG_TEST_INVALID(__V__)