diff options
-rw-r--r-- | tvmet-1.7.1/include/tvmet/util/Random.h | 100 | ||||
-rw-r--r-- | tvmet-1.7.1/include/tvmet/util/Timer.h | 97 |
2 files changed, 0 insertions, 197 deletions
diff --git a/tvmet-1.7.1/include/tvmet/util/Random.h b/tvmet-1.7.1/include/tvmet/util/Random.h deleted file mode 100644 index 611b12df2..000000000 --- a/tvmet-1.7.1/include/tvmet/util/Random.h +++ /dev/null @@ -1,100 +0,0 @@ -/* - * Tiny Vector Matrix Library - * Dense Vector Matrix Libary of Tiny size using Expression Templates - * - * Copyright (C) 2001 - 2003 Olaf Petzold <opetzold@users.sourceforge.net> - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * - * $Id: Random.h,v 1.3 2004/09/16 09:14:18 opetzold Exp $ - */ - -#ifndef TVMET_UTIL_RANDOM_H -#define TVMET_UTIL_RANDOM_H - -#include <tvmet/CompileTimeError.h> - -namespace tvmet { - -namespace util { - - -/** - * \class Random Random.h "tvmet/util/Random.h" - * \brief A simple random class. - * On each access this class returns a new random number using - * std::rand(). The range generated is templated by MIN and - * MAX. - * \ingroup _util_function - * - * \par Example: - * \code - * #include <algorithm> - * - * tvmet::Random<int, 0, 100> random; - * - * std::generate(m1.begin(), m1.end(), random()); - * \endcode - */ -template<class T, int MIN=0, int MAX=100> -class Random { - static unsigned int s_seed; -public: - typedef T value_type; - Random() { TVMET_CT_CONDITION(MIN<MAX, wrong_random_range) } - value_type operator()() { - s_seed += (unsigned)std::time(0); - std::srand(s_seed); - return MIN + int(double(MAX) * std::rand()/(double(RAND_MAX)+1.0)); - } -}; -// instance -template<class T, int MIN, int MAX> -unsigned int Random<T, MIN, MAX>::s_seed; - - -#if defined(EIGEN_USE_COMPLEX) -/** - * \class Random< std::complex<T> > Random.h "tvmet/util/Random.h" - * \brief Specialized Random class. - * \ingroup _util_function - */ -template<class T, int MIN=0, int MAX=100> -class Random { - static unsigned int s_seed; -public: - typedef std::complex<T> value_type; - Random() { TVMET_CT_CONDITION(MIN<MAX, wrong_random_range) } - value_type operator()() { - s_seed += (unsigned)std::time(0); - std::srand(s_seed); - return MIN + int(double(MAX) * std::rand()/(double(RAND_MAX)+1.0)); - } -}; -// instance -template<class T, int MIN, int MAX> -unsigned int Random<std::complex<T>, MIN, MAX>::s_seed; -#endif // defined(EIGEN_USE_COMPLEX) - - -} // namespace util - -} // namespace tvmet - -#endif // TVMET_UTIL_RANDOM_H - -// Local Variables: -// mode:C++ -// End: diff --git a/tvmet-1.7.1/include/tvmet/util/Timer.h b/tvmet-1.7.1/include/tvmet/util/Timer.h deleted file mode 100644 index 5868a00bd..000000000 --- a/tvmet-1.7.1/include/tvmet/util/Timer.h +++ /dev/null @@ -1,97 +0,0 @@ -/* - * Tiny Vector Matrix Library - * Dense Vector Matrix Libary of Tiny size using Expression Templates - * - * Copyright (C) 2001 - 2003 Olaf Petzold <opetzold@users.sourceforge.net> - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * - * $Id: Timer.h,v 1.5 2004/09/16 09:14:18 opetzold Exp $ - */ - -#ifndef TVMET_UTIL_TIMER_H -#define TVMET_UTIL_TIMER_H - -#if defined(TVMET_HAVE_SYS_TIME_H) && defined(TVMET_HAVE_UNISTD_H) -# include <sys/time.h> -# include <sys/resource.h> -# include <unistd.h> -#else -# include <ctime> -#endif - -namespace tvmet { - -namespace util { - -/** - \class Timer Timer.h "tvmet/util/Timer.h" - \brief A quick& dirty portable timer, measures elapsed time. - - It is recommended that implementations measure wall clock rather than CPU - time since the intended use is performance measurement on systems where - total elapsed time is more important than just process or CPU time. - - The accuracy of timings depends on the accuracy of timing information - provided by the underlying platform, and this varies from platform to - platform. -*/ - -class Timer -{ - Timer(const Timer&); - Timer& operator=(const Timer&); - -public: // types - typedef double time_t; - -public: - /** starts the timer immediatly. */ - Timer() { m_start_time = getTime(); } - - /** restarts the timer */ - void restart() { m_start_time = getTime(); } - - /** return elapsed time in seconds */ - time_t elapsed() const { return (getTime() - m_start_time); } - -private: - time_t getTime() const { -#if defined(TVMET_HAVE_SYS_TIME_H) && defined(TVMET_HAVE_UNISTD_H) - getrusage(RUSAGE_SELF, &m_rusage); - time_t sec = m_rusage.ru_utime.tv_sec; // user, no system time - time_t usec = m_rusage.ru_utime.tv_usec; // user, no system time - return sec + usec/1e6; -#else - return static_cast<time_t>(std::clock()) / static_cast<time_t>(CLOCKS_PER_SEC); -#endif - } - -private: -#if defined(TVMET_HAVE_SYS_TIME_H) && defined(TVMET_HAVE_UNISTD_H) - mutable struct rusage m_rusage; -#endif - time_t m_start_time; -}; - -} // namespace util - -} // namespace tvmet - -#endif // TVMET_UTIL_TIMER_H - -// Local Variables: -// mode:C++ -// End: |