source: sources/test_regression/28102005/system.cpp@ 59

Last change on this file since 59 was 55, checked in by meunier, 13 years ago

Tried to clean the test_regression directory:

  • Code formatting
  • Supressed warnings
  • Made comprehensible outputs
  • Factorized Makefiles

There's still a lot to do (many tests don't pass for either good or bad reasons)

File size: 1.4 KB
Line 
1
2#include <iostream>
3#include <cstring>
4
5#include "systemc.h"
6#include "test.h"
7
8
9using namespace std;
10
11
12void check_time(int i) {
13 const sc_time & t = sc_time_stamp();
14 cout << i << endl;
15
16#ifdef SYSTEMCASS_SPECIFIC
17 ASSERT((int) (t.to_double()) == i);
18#else
19 ASSERT((int) (t.to_double()) == i * 1000);
20#endif
21
22 cout << t.to_seconds() << endl;
23 double seconds = t.to_seconds() * 1000000000;
24 cout << seconds << endl;
25 ASSERT(((int) seconds) == i);
26 char s[256];
27 const char * unit;
28
29#ifdef SYSTEMCASS_SPECIFIC
30 unit = "NS";
31#else
32 if (i == 0) {
33 unit = "s";
34 }
35 else {
36 unit = "ns";
37 }
38#endif
39
40 sprintf(s, "%d %s", i, unit);
41
42 ASSERT(strcmp(t.to_string().c_str(), s) == 0);
43}
44
45
46int sc_main (int argc, char ** argv) {
47 sc_clock clk("clock");
48
49 check_time(0);
50 sc_start(sc_time(0, sc_core::SC_NS));
51
52 check_time(0);
53 sc_start(sc_time(1, sc_core::SC_NS));
54 check_time(1);
55
56 sc_start(sc_time(15, sc_core::SC_NS));
57 check_time(16);
58
59 sc_start(sc_time(7, sc_core::SC_NS));
60 check_time(23);
61
62 sc_start(sc_time(100, sc_core::SC_NS));
63 check_time(123);
64
65 sc_start(sc_time(1000, sc_core::SC_NS));
66 check_time(1123);
67
68 return 0;
69}
70
71
72/*
73# Local Variables:
74# tab-width: 4;
75# c-basic-offset: 4;
76# c-file-offsets:((innamespace . 0)(inline-open . 0));
77# indent-tabs-mode: nil;
78# End:
79#
80# vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=4:softtabstop=4
81*/
82
Note: See TracBrowser for help on using the repository browser.