#ifndef _CRANDOM_HPP_
#define _CRANDOM_HPP_

/*** SDL Header Files ***/
#include <SDL.h>   

/*** DLL Header File ***/
#include "dllExport.h"

namespace MathEngine {
	/* Singleton */
	class EXPORT_FROM_MYDLL cRandom
	{
	private:
		cRandom();
		~cRandom();

	public:
		///Functions
		static cRandom& Inst();
		static void Delete();

		const bool Setup() const;

		const unsigned long int Rand( const unsigned long int max, const unsigned long int min = 0 ) const;
		const float Rand( const float max, const float min = 0.0f ) const;

	private:
		static cRandom* sp_inst;// = nullptr
	};/// END CLASS DEFINITION cRandom
}/// END NAMESPACE DEFINITION MathEngine
#endif/// END IFNDEF _CRANDOM_HPP_