Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependents: RZ_A2M_Mbed_samples
timer.h
00001 /*********************************************************************** 00002 * Software License Agreement (BSD License) 00003 * 00004 * Copyright 2008-2009 Marius Muja (mariusm@cs.ubc.ca). All rights reserved. 00005 * Copyright 2008-2009 David G. Lowe (lowe@cs.ubc.ca). All rights reserved. 00006 * 00007 * THE BSD LICENSE 00008 * 00009 * Redistribution and use in source and binary forms, with or without 00010 * modification, are permitted provided that the following conditions 00011 * are met: 00012 * 00013 * 1. Redistributions of source code must retain the above copyright 00014 * notice, this list of conditions and the following disclaimer. 00015 * 2. Redistributions in binary form must reproduce the above copyright 00016 * notice, this list of conditions and the following disclaimer in the 00017 * documentation and/or other materials provided with the distribution. 00018 * 00019 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 00020 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 00021 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 00022 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 00023 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 00024 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 00025 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 00026 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 00027 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 00028 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 00029 *************************************************************************/ 00030 00031 #ifndef OPENCV_FLANN_TIMER_H 00032 #define OPENCV_FLANN_TIMER_H 00033 00034 #include <time.h> 00035 #include "opencv2/core.hpp" 00036 #include "opencv2/core/utility.hpp" 00037 00038 namespace cvflann 00039 { 00040 00041 /** 00042 * A start-stop timer class. 00043 * 00044 * Can be used to time portions of code. 00045 */ 00046 class StartStopTimer 00047 { 00048 int64 startTime; 00049 00050 public: 00051 /** 00052 * Value of the timer. 00053 */ 00054 double value; 00055 00056 00057 /** 00058 * Constructor. 00059 */ 00060 StartStopTimer() 00061 { 00062 reset(); 00063 } 00064 00065 /** 00066 * Starts the timer. 00067 */ 00068 void start() 00069 { 00070 startTime = cv::getTickCount(); 00071 } 00072 00073 /** 00074 * Stops the timer and updates timer value. 00075 */ 00076 void stop() 00077 { 00078 int64 stopTime = cv::getTickCount(); 00079 value += ( (double)stopTime - startTime) / cv::getTickFrequency(); 00080 } 00081 00082 /** 00083 * Resets the timer value to 0. 00084 */ 00085 void reset() 00086 { 00087 value = 0; 00088 } 00089 00090 }; 00091 00092 } 00093 00094 #endif // FLANN_TIMER_H
Generated on Tue Jul 12 2022 18:20:19 by
