clock.cpp
Go to the documentation of this file.
1 /*
2  * This file is part of ACADO Toolkit.
3  *
4  * ACADO Toolkit -- A Toolkit for Automatic Control and Dynamic Optimization.
5  * Copyright (C) 2008-2014 by Boris Houska, Hans Joachim Ferreau,
6  * Milan Vukov, Rien Quirynen, KU Leuven.
7  * Developed within the Optimization in Engineering Center (OPTEC)
8  * under supervision of Moritz Diehl. All rights reserved.
9  *
10  * ACADO Toolkit is free software; you can redistribute it and/or
11  * modify it under the terms of the GNU Lesser General Public
12  * License as published by the Free Software Foundation; either
13  * version 3 of the License, or (at your option) any later version.
14  *
15  * ACADO Toolkit is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18  * Lesser General Public License for more details.
19  *
20  * You should have received a copy of the GNU Lesser General Public
21  * License along with ACADO Toolkit; if not, write to the Free Software
22  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
23  *
24  */
25 
26 
35 #include <stdio.h>
36 
37 #include <acado/clock/clock.hpp>
38 
39 
41 
42 
43 
44 
46 {
47  reset( );
48 }
49 
50 
52 {
54  status = rhs.status;
55 }
56 
57 
59 {
60 }
61 
62 
64 {
65  if( this != &rhs )
66  {
68  status = rhs.status;
69  }
70 
71  return *this;
72 }
73 
74 
75 
76 returnValue Clock::init( double _initialTime
77  )
78 {
79  elapsedTime = _initialTime;
81 
82  return SUCCESSFUL_RETURN;
83 }
84 
85 
87 {
88  return init( 0.0 );
89 }
90 
91 
92 returnValue Clock::getTime( double& _elapsedTime
93  )
94 {
95  switch( status )
96  {
97  case CS_NOT_INITIALIZED:
99 
100  case CS_RUNNING:
101  stop( );
102  _elapsedTime = elapsedTime;
103  start( );
104  return SUCCESSFUL_RETURN;
105 
106  case CS_STOPPED:
107  _elapsedTime = elapsedTime;
108  return SUCCESSFUL_RETURN;
109 
110  default:
111  return ACADOERROR( RET_UNKNOWN_BUG );
112  }
113 }
114 
115 
116 double Clock::getTime( )
117 {
118  double _elapsedTime;
119 
120  if ( getTime( _elapsedTime ) == SUCCESSFUL_RETURN )
121  return _elapsedTime;
122  else
123  return -INFTY;
124 }
125 
126 
128 
129 
130 /*
131  * end of file
132  */
virtual double getTime()
Definition: clock.cpp:116
Base class for all kind of time measurements.
Definition: clock.hpp:53
virtual returnValue stop()=0
Clock()
Definition: clock.cpp:45
const double INFTY
virtual returnValue reset()
Definition: clock.cpp:86
virtual returnValue start()=0
Allows to pass back messages to the calling function.
virtual returnValue init(double _initialTime)
Definition: clock.cpp:76
double elapsedTime
Definition: clock.hpp:163
virtual ~Clock()
Definition: clock.cpp:58
#define CLOSE_NAMESPACE_ACADO
void rhs(const real_t *x, real_t *f)
#define BEGIN_NAMESPACE_ACADO
ClockStatus status
Definition: clock.hpp:164
Clock & operator=(const Clock &rhs)
Definition: clock.cpp:63
#define ACADOERROR(retval)


acado
Author(s): Milan Vukov, Rien Quirynen
autogenerated on Mon Jun 10 2019 12:34:29