#pragma once

#include "GL/gl.h"

const GLfloat E_PI = 3.14159265358979324f;

const GLfloat E_PIBY180 = 0.017453292519943296f;
const GLfloat E_180BYPI = 57.29577951308232085f;

inline GLfloat ERad2Deg(GLfloat rad)
{
	return rad * E_180BYPI;
}

inline GLfloat EDeg2Rad(GLfloat deg)
{
	return deg * E_PIBY180;
}

inline int ERound(float x)
{
    float i;
    i = x - (float)(int)x;
    if ((i < 0.5) && (i > -0.5))
		return (int)x;
    else 
		if (i >= 0.5)
			return (int)(x + 1.0);
		else return (int)(x - 1.0);
}

#define EClamp(_a, _min, _max)	( ( (_a) < (_min) ) ? (_min) : ( ( (_a) > (_max) ) ? (_max) : (_a) )  )

inline GLfloat ERandomf()
{
	int r;
    GLfloat	x;
    
	r = rand();
    x = (GLfloat)(r & 0x7fff) /
		(GLfloat)0x7fff;
    return x;
} 