/***************************************************************************** Copyright (c) 2013, 2014, Facebook, Inc. All Rights Reserved. Copyright (c) 2014, 2018, MariaDB Corporation. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License. This program 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 General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA *****************************************************************************/ /********************************************************************//** @file include/ut0timer.ic Timer routines Created 30/07/2014 Jan Lindström jan.lindstrom@skysql.com modified from https://github.com/facebook/mysql-5.6/commit/c75a413edeb96eb99bf11d7269bdfea06f96d6b6 *************************************************************************/ /**************************************************************//** Convert native timer units in a ulonglong into microseconds in a double @return time in microseconds */ UNIV_INLINE double ut_timer_to_microseconds( /*=====================*/ ulonglong when) /*!< in: time where to calculate */ { double ret = (double)(when); ret *= 1000000.0; ret /= (double)(ut_timer.frequency); return ret; } /**************************************************************//** Convert microseconds in a double to native timer units in a ulonglong @return time in microseconds */ UNIV_INLINE ulonglong ut_microseconds_to_timer( /*=====================*/ ulonglong when) /*!< in: time where to calculate */ { double ret = (double)when; ret *= (double)(ut_timer.frequency); ret /= 1000000.0; return (ulonglong)ret; }