/* math/functions.h This file is part of the Osirion project and is distributed under the terms of the GNU General Public License version 2 */ #ifndef __INCLUDED_MATH_FUNCTIONS_H__ #define __INCLUDED_MATH_FUNCTIONS_H__ // C++ headers #include #include namespace math { /// return the smallest of two float values float min(float a, float b); /// return the smallest of two integers int min(int a, int b); /// return the largest of two float values float max(float a, float b); /// return the largest of two integers int max(int a, int b); /// returns a random float /** The value returned will be in the interval [0-max] * @param max the maximum value returned **/ float randomf(const float max = 1); /// returns a random integer /** The value returned will be in the interval [0-(max-1)] * @param max the maximum value returned **/ unsigned int randomi(const unsigned int max); /// return the sign of a float value float sgnf(float value); /// return an angle in the ]-180,180] range float degrees180f(float angle); /// return an angle in the [0,360[ range float degrees360f(float angle); } // namespace math #endif // __INCLUDED_MATH_FUNCTIONS_H__