source: sources/src/sc_time.cc @ 56

Last change on this file since 56 was 52, checked in by meunier, 12 years ago

Code formatting in all source files.

File size: 2.7 KB
RevLine 
[1]1/*------------------------------------------------------------\
2|                                                             |
3| Tool    :                  systemcass                       |
4|                                                             |
5| File    :                 sc_time.cc                        |
6|                                                             |
7| Author  :                 Buchmann Richard                  |
8|                                                             |
9| Date    :                   09_07_2004                      |
10|                                                             |
11\------------------------------------------------------------*/
12
13/*
14 * This file is part of the Disydent Project
15 * Copyright (C) Laboratoire LIP6 - Département ASIM
16 * Universite Pierre et Marie Curie
17 *
18 * Home page          : http://www-asim.lip6.fr/disydent
19 * E-mail             : mailto:richard.buchmann@lip6.fr
20 *
21 * This library is free software; you  can redistribute it and/or modify it
22 * under the terms  of the GNU Library General Public  License as published
23 * by the Free Software Foundation; either version 2 of the License, or (at
24 * your option) any later version.
25 *
26 * Disydent is distributed  in the hope  that it  will be
27 * useful, but WITHOUT  ANY WARRANTY; without even the  implied warranty of
28 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
29 * Public License for more details.
30 *
31 * You should have received a copy  of the GNU General Public License along
32 * with the GNU C Library; see the  file COPYING. If not, write to the Free
33 * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
34 */
35
36
[12]37#include <ctime>
[1]38#include <sys/time.h>
39#include <string>
[4]40#include <sstream>
[52]41
42#include "sc_time.h"
43
[27]44#ifdef HAVE_CONFIG_H
45#include "config.h"
46#endif
[1]47
[52]48
[1]49namespace sc_core {
50
[52]51
52static const char *const unit_repr_string[6] = {
[4]53        "FS", "PS", "NS", "US", "MS", "SEC"
54};
[1]55
[4]56uint64_t nb_cycles = 0;
57
[52]58const sc_time SC_ZERO_TIME(0, SC_NS);
59sc_time SC_CURRENT_TIME(0, SC_NS);
[1]60
[52]61
62sc_time::sc_time (const sc_time & t) {
63    *this = t;
[1]64}
65
[52]66
67sc_time::sc_time (double val, sc_time_unit tu) {
68    time = (uint64_t) val;
69    unit = tu;
[1]70}
71
72
[52]73sc_time & sc_time::operator = (const sc_time & t) {
74    time = t.time;
75    unit = t.unit;
76    return *this;
[1]77}
78
79
[52]80const std::string sc_time::to_string() const {
81    std::ostringstream o;
82    o << time << ' ' << unit_repr_string[unit];
83    return o.str();
[1]84}
85
[52]86
[1]87} // end of sc_core namespace
88
[52]89/*
90# Local Variables:
91# tab-width: 4;
92# c-basic-offset: 4;
93# c-file-offsets:((innamespace . 0)(inline-open . 0));
94# indent-tabs-mode: nil;
95# End:
96#
97# vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=4:softtabstop=4
98*/
99
Note: See TracBrowser for help on using the repository browser.