00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 #ifndef ANNCHIENTA_MATHMANAGER_H
00019 #define ANNCHIENTA_MATHMANAGER_H
00020 
00021 namespace Annchienta
00022 {
00023 
00028     class MathManager
00029     {
00030         private:
00031 
00032         public:
00033 
00034             #ifndef SWIG
00035                 MathManager();
00036                 ~MathManager();
00037             #endif
00038 
00043             int nearestPowerOfTwo( const int &input ) const;
00044 
00047             void newRandomSeed() const;
00048 
00053             int randInt( const int &maximum ) const;
00054 
00060             int randInt( const int &minimum, const int &maximum ) const;
00061 
00066             float randFloat() const;
00067 
00073             float randFloat( const float &minimum, const float &maximum) const;
00074 
00080             int min( const int &a, const int &b ) const;
00081 
00087             int max( const int &a, const int &b ) const;
00088 
00093             int abs( const int &value ) const;
00094 
00099             float abs( const float &value ) const;
00100     };
00101 
00104     MathManager *getMathManager();
00105 
00106 };
00107 
00108 #endif