/* common/functions.cc This file is part of the Osirion project and is distributed under the terms of the GNU General Public License version 2 */ // project headers #include "math/functions.h" namespace math { float min(float a, float b) { return (a < b ? a : b); } float max(float a, float b) { return (a > b ? a : b); } int min(int a, int b) { return (a < b ? a : b); } int max(int a, int b) { return (a > b ? a : b); } float randomf(const float max) { return ((float) rand() / (float) RAND_MAX) * max; } unsigned randomi(const unsigned int max) { return ((unsigned int)(rand() % max)); } float degrees180f(float angle) { float r = angle; while (r <= -180.0f) r += 360.0f; while (r >= 180.0f) r -= 360.0f; return r; } float degrees360f(float angle) { float r = angle; while (r < 0.0f) r += 360.0f; while (r >= 360.0f) r -= 360.0f; return r; } float sgnf(float value) { if (value < 0 ) return -1; else if (value == 0 ) return 0; return 1; } } // namespace math