123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- /**
- * @file FastMath.h
- * @brief lookup tables and more
- * @author Erik Rodner
- * @date 07/31/2008
- */
- #ifndef FASTMATHINCLUDE
- #define FASTMATHINCLUDE
- namespace NICE {
- /** @brief some lookup tables suitable for image gradients */
- class FastMath
- {
- public:
- /** maximum value of image gradients */
- static const int gradientMaximum = 255;
- /** sqrt(.) 2*255^2 is the maximum value of the argument */
- static const int sqrtTableMaximum = 2*gradientMaximum*gradientMaximum+1;
- /** access to the sqrt table sqrtTable[y*gradientMaximum + x] */
- double *sqrtTable;
- /** lookup table for atan2 */
- static const int atan2TableMaximum = (2*gradientMaximum+1)*(2*gradientMaximum+1);
- /** access to the atan2 table atan2Table[y*gradientMaximum + x] */
- double *atan2Table;
-
- /** do not use this constructor directly */
- FastMath ();
-
- /** destructor: removes all lookup tables */
- ~FastMath ();
- /** get the singleton object instance */
- static FastMath & getSingleton () {
- static FastMath fastMathSingleton;
- return fastMathSingleton;
- }
-
- };
- } // namespace
- #endif
|