COIN-OR::LEMON - Graph Library

Ignore:
Location:
lemon
Files:
2 added
5 edited

Legend:

Unmodified
Added
Removed
  • lemon/CMakeLists.txt

    r498 r562  
    1515  lp_base.cc
    1616  lp_skeleton.cc
    17   random.cc)
     17  random.cc
     18  bits/windows.cc
     19)
    1820
    1921IF(HAVE_GLPK)
  • lemon/Makefile.am

    r492 r562  
    1313        lemon/lp_base.cc \
    1414        lemon/lp_skeleton.cc \
    15         lemon/random.cc
     15        lemon/random.cc \
     16        lemon/bits/windows.cc
    1617
    1718
     
    9192        lemon/time_measure.h \
    9293        lemon/tolerance.h \
    93         lemon/unionfind.h
     94        lemon/unionfind.h \
     95        lemon/bits/windows.h
    9496
    9597bits_HEADERS += \
  • lemon/graph_to_eps.h

    r556 r562  
    3030#include<ctime>
    3131#else
    32 #ifndef WIN32_LEAN_AND_MEAN
    33 #define WIN32_LEAN_AND_MEAN
    34 #endif
    35 #ifndef NOMINMAX
    36 #define NOMINMAX
    37 #endif
    38 #include<windows.h>
     32#include<lemon/bits/windows.h>
    3933#endif
    4034
     
    684678
    685679    {
     680      os << "%%CreationDate: ";
    686681#ifndef WIN32
    687682      timeval tv;
     
    690685      char cbuf[26];
    691686      ctime_r(&tv.tv_sec,cbuf);
    692       os << "%%CreationDate: " << cbuf;
     687      os << cbuf;
    693688#else
    694       SYSTEMTIME time;
    695       GetSystemTime(&time);
    696 #if defined(_MSC_VER) && (_MSC_VER < 1500)
    697       LPWSTR buf1, buf2, buf3;
    698       if (GetDateFormat(LOCALE_USER_DEFAULT, 0, &time,
    699                         L"ddd MMM dd", buf1, 11) &&
    700           GetTimeFormat(LOCALE_USER_DEFAULT, 0, &time,
    701                         L"HH':'mm':'ss", buf2, 9) &&
    702           GetDateFormat(LOCALE_USER_DEFAULT, 0, &time,
    703                         L"yyyy", buf3, 5)) {
    704         os << "%%CreationDate: " << buf1 << ' '
    705            << buf2 << ' ' << buf3 << std::endl;
    706       }
    707 #else
    708         char buf1[11], buf2[9], buf3[5];
    709         if (GetDateFormat(LOCALE_USER_DEFAULT, 0, &time,
    710                           "ddd MMM dd", buf1, 11) &&
    711             GetTimeFormat(LOCALE_USER_DEFAULT, 0, &time,
    712                           "HH':'mm':'ss", buf2, 9) &&
    713             GetDateFormat(LOCALE_USER_DEFAULT, 0, &time,
    714                           "yyyy", buf3, 5)) {
    715           os << "%%CreationDate: " << buf1 << ' '
    716              << buf2 << ' ' << buf3 << std::endl;
    717         }
     689      os << bits::getWinFormattedDate();
    718690#endif
    719 #endif
    720     }
     691    }
     692    os << std::endl;
    721693
    722694    if (_autoArcWidthScale) {
  • lemon/random.h

    r463 r562  
    7878#include <unistd.h>
    7979#else
    80 #include <windows.h>
     80#include <lemon/bits/windows.h>
    8181#endif
    8282
     
    663663      seed(getpid() + tv.tv_sec + tv.tv_usec);
    664664#else
    665       FILETIME time;
    666       GetSystemTimeAsFileTime(&time);
    667       seed(GetCurrentProcessId() + time.dwHighDateTime + time.dwLowDateTime);
     665      seed(bits::getWinRndSeed());
    668666#endif
    669667      return true;
  • lemon/time_measure.h

    r556 r562  
    2525
    2626#ifdef WIN32
    27 #ifndef WIN32_LEAN_AND_MEAN
    28 #define WIN32_LEAN_AND_MEAN
    29 #endif
    30 #ifndef NOMINMAX
    31 #define NOMINMAX
    32 #endif
    33 #include <windows.h>
    34 #include <cmath>
     27#include <lemon/bits/windows.h>
    3528#else
    3629#include <unistd.h>
     
    9386      cstime=ts.tms_cstime/tck;
    9487#else
    95       static const double ch = 4294967296.0e-7;
    96       static const double cl = 1.0e-7;
    97 
    98       FILETIME system;
    99       GetSystemTimeAsFileTime(&system);
    100       rtime = ch * system.dwHighDateTime + cl * system.dwLowDateTime;
    101 
    102       FILETIME create, exit, kernel, user;
    103       if (GetProcessTimes(GetCurrentProcess(),&create, &exit, &kernel, &user)) {
    104         utime = ch * user.dwHighDateTime + cl * user.dwLowDateTime;
    105         stime = ch * kernel.dwHighDateTime + cl * kernel.dwLowDateTime;
    106         cutime = 0;
    107         cstime = 0;
    108       } else {
    109         rtime = 0;
    110         utime = 0;
    111         stime = 0;
    112         cutime = 0;
    113         cstime = 0;
    114       }
     88      bits::getWinProcTimes(rtime, utime, stime, cutime, cstime);
    11589#endif
    11690    }
Note: See TracChangeset for help on using the changeset viewer.