| 
                Last change
                  on this file since 59 was
                  55,
                  checked in by meunier, 12 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 |  | 
|---|
| 9 | using namespace std; | 
|---|
| 10 |  | 
|---|
| 11 |  | 
|---|
| 12 | void 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 |  | 
|---|
| 46 | int 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.