Mercurial > hg > segmenter-vamp-plugin
annotate armadillo-3.900.4/include/armadillo_bits/wall_clock_meat.hpp @ 84:55a047986812 tip
Update library URI so as not to be document-local
author | Chris Cannam |
---|---|
date | Wed, 22 Apr 2020 14:21:57 +0100 |
parents | 1ec0e2823891 |
children |
rev | line source |
---|---|
Chris@49 | 1 // Copyright (C) 2008-2012 NICTA (www.nicta.com.au) |
Chris@49 | 2 // Copyright (C) 2008-2012 Conrad Sanderson |
Chris@49 | 3 // |
Chris@49 | 4 // This Source Code Form is subject to the terms of the Mozilla Public |
Chris@49 | 5 // License, v. 2.0. If a copy of the MPL was not distributed with this |
Chris@49 | 6 // file, You can obtain one at http://mozilla.org/MPL/2.0/. |
Chris@49 | 7 |
Chris@49 | 8 |
Chris@49 | 9 //! \addtogroup wall_clock |
Chris@49 | 10 //! @{ |
Chris@49 | 11 |
Chris@49 | 12 |
Chris@49 | 13 inline |
Chris@49 | 14 wall_clock::wall_clock() |
Chris@49 | 15 : valid(false) |
Chris@49 | 16 { |
Chris@49 | 17 arma_extra_debug_sigprint(); |
Chris@49 | 18 } |
Chris@49 | 19 |
Chris@49 | 20 |
Chris@49 | 21 |
Chris@49 | 22 inline |
Chris@49 | 23 wall_clock::~wall_clock() |
Chris@49 | 24 { |
Chris@49 | 25 arma_extra_debug_sigprint(); |
Chris@49 | 26 } |
Chris@49 | 27 |
Chris@49 | 28 |
Chris@49 | 29 |
Chris@49 | 30 inline |
Chris@49 | 31 void |
Chris@49 | 32 wall_clock::tic() |
Chris@49 | 33 { |
Chris@49 | 34 arma_extra_debug_sigprint(); |
Chris@49 | 35 |
Chris@49 | 36 #if defined(ARMA_USE_BOOST_DATE) |
Chris@49 | 37 { |
Chris@49 | 38 boost_time1 = boost::posix_time::microsec_clock::local_time(); |
Chris@49 | 39 valid = true; |
Chris@49 | 40 } |
Chris@49 | 41 #elif defined(ARMA_HAVE_GETTIMEOFDAY) |
Chris@49 | 42 { |
Chris@49 | 43 gettimeofday(&posix_time1, 0); |
Chris@49 | 44 valid = true; |
Chris@49 | 45 } |
Chris@49 | 46 #else |
Chris@49 | 47 { |
Chris@49 | 48 time1 = clock(); |
Chris@49 | 49 valid = true; |
Chris@49 | 50 } |
Chris@49 | 51 #endif |
Chris@49 | 52 } |
Chris@49 | 53 |
Chris@49 | 54 |
Chris@49 | 55 |
Chris@49 | 56 inline |
Chris@49 | 57 double |
Chris@49 | 58 wall_clock::toc() |
Chris@49 | 59 { |
Chris@49 | 60 arma_extra_debug_sigprint(); |
Chris@49 | 61 |
Chris@49 | 62 if(valid) |
Chris@49 | 63 { |
Chris@49 | 64 #if defined(ARMA_USE_BOOST_DATE) |
Chris@49 | 65 { |
Chris@49 | 66 boost_duration = boost::posix_time::microsec_clock::local_time() - boost_time1; |
Chris@49 | 67 return boost_duration.total_microseconds() * 1e-6; |
Chris@49 | 68 } |
Chris@49 | 69 #elif defined(ARMA_HAVE_GETTIMEOFDAY) |
Chris@49 | 70 { |
Chris@49 | 71 gettimeofday(&posix_time2, 0); |
Chris@49 | 72 |
Chris@49 | 73 const double tmp_time1 = posix_time1.tv_sec + posix_time1.tv_usec * 1.0e-6; |
Chris@49 | 74 const double tmp_time2 = posix_time2.tv_sec + posix_time2.tv_usec * 1.0e-6; |
Chris@49 | 75 |
Chris@49 | 76 return tmp_time2 - tmp_time1; |
Chris@49 | 77 } |
Chris@49 | 78 #else |
Chris@49 | 79 { |
Chris@49 | 80 clock_t time2 = clock(); |
Chris@49 | 81 |
Chris@49 | 82 clock_t diff = time2 - time1; |
Chris@49 | 83 |
Chris@49 | 84 return double(diff) / double(CLOCKS_PER_SEC); |
Chris@49 | 85 } |
Chris@49 | 86 #endif |
Chris@49 | 87 } |
Chris@49 | 88 else |
Chris@49 | 89 { |
Chris@49 | 90 return 0.0; |
Chris@49 | 91 } |
Chris@49 | 92 } |
Chris@49 | 93 |
Chris@49 | 94 |
Chris@49 | 95 |
Chris@49 | 96 //! @} |
Chris@49 | 97 |