Diff for /imach/src/imach.c between versions 1.169 and 1.172

version 1.169, 2014/12/22 23:08:31 version 1.172, 2014/12/27 12:07:47
Line 1 Line 1
 /* $Id$  /* $Id$
   $State$    $State$
   $Log$    $Log$
     Revision 1.172  2014/12/27 12:07:47  brouard
     Summary: Back from Visual Studio and Intel, options for compiling for Windows XP
   
     Revision 1.171  2014/12/23 13:26:59  brouard
     Summary: Back from Visual C
   
     Still problem with utsname.h on Windows
   
     Revision 1.170  2014/12/23 11:17:12  brouard
     Summary: Cleaning some \%% back to %%
   
     The escape was mandatory for a specific compiler (which one?), but too many warnings.
   
   Revision 1.169  2014/12/22 23:08:31  brouard    Revision 1.169  2014/12/22 23:08:31  brouard
   Summary: 0.98p    Summary: 0.98p
   
   Outputs some informations on compiler used, OS etc. Testing on different platforms.    Outputs some informations on compiler used, OS etc. Testing on different platforms.
   
   Revision 1.168  2014/12/22 15:17:42  brouard    Revision 1.168  2014/12/22 15:17:42  brouard
   Summary: udate    Summary: update
   
   Revision 1.167  2014/12/22 13:50:56  brouard    Revision 1.167  2014/12/22 13:50:56  brouard
   Summary: Testing uname and compiler version and if compiled 32 or 64    Summary: Testing uname and compiler version and if compiled 32 or 64
Line 527 Line 540
   
 #ifdef _WIN32  #ifdef _WIN32
 #include <io.h>  #include <io.h>
   #include <windows.h>
   #include <tchar.h>
 #else  #else
 #include <unistd.h>  #include <unistd.h>
 #endif  #endif
   
 #include <limits.h>  #include <limits.h>
 #include <sys/types.h>  #include <sys/types.h>
 #include <sys/utsname.h>  
   #if defined(__GNUC__)
   #include <sys/utsname.h> /* Doesn't work on Windows */
   #endif
   
 #include <sys/stat.h>  #include <sys/stat.h>
 #include <errno.h>  #include <errno.h>
 /* extern int errno; */  /* extern int errno; */
Line 3628  void varevsij(char optionfilefiname[], d Line 3647  void varevsij(char optionfilefiname[], d
 /*   fprintf(ficgp,"\n replot \"%s\"  u 1:(($3+1.96*$4)*%6.3f) t \"95\%% interval\" w l 2 ",fileresprobmorprev,YEARM/estepm); */  /*   fprintf(ficgp,"\n replot \"%s\"  u 1:(($3+1.96*$4)*%6.3f) t \"95\%% interval\" w l 2 ",fileresprobmorprev,YEARM/estepm); */
 /*   fprintf(ficgp,"\n replot \"%s\"  u 1:(($3-1.96*$4)*%6.3f) not w l 2 ",fileresprobmorprev,YEARM/estepm); */  /*   fprintf(ficgp,"\n replot \"%s\"  u 1:(($3-1.96*$4)*%6.3f) not w l 2 ",fileresprobmorprev,YEARM/estepm); */
   fprintf(ficgp,"\n plot \"%s\"  u 1:($3) not w l lt 1 ",subdirf(fileresprobmorprev));    fprintf(ficgp,"\n plot \"%s\"  u 1:($3) not w l lt 1 ",subdirf(fileresprobmorprev));
   fprintf(ficgp,"\n replot \"%s\"  u 1:(($3+1.96*$4)) t \"95\%% interval\" w l lt 2 ",subdirf(fileresprobmorprev));    fprintf(ficgp,"\n replot \"%s\"  u 1:(($3+1.96*$4)) t \"95%% interval\" w l lt 2 ",subdirf(fileresprobmorprev));
   fprintf(ficgp,"\n replot \"%s\"  u 1:(($3-1.96*$4)) not w l lt 2 ",subdirf(fileresprobmorprev));    fprintf(ficgp,"\n replot \"%s\"  u 1:(($3-1.96*$4)) not w l lt 2 ",subdirf(fileresprobmorprev));
   fprintf(fichtm,"\n<br> File (multiple files are possible if covariates are present): <A href=\"%s\">%s</a>\n",subdirf(fileresprobmorprev),subdirf(fileresprobmorprev));    fprintf(fichtm,"\n<br> File (multiple files are possible if covariates are present): <A href=\"%s\">%s</a>\n",subdirf(fileresprobmorprev),subdirf(fileresprobmorprev));
   fprintf(fichtm,"\n<br> Probability is computed over estepm=%d months. <br> <img src=\"%s%s.png\"> <br>\n", estepm,subdirf3(optionfilefiname,"varmuptjgr",digitp),digit);    fprintf(fichtm,"\n<br> Probability is computed over estepm=%d months. <br> <img src=\"%s%s.png\"> <br>\n", estepm,subdirf3(optionfilefiname,"varmuptjgr",digitp),digit);
Line 4226  void printinggnuplot(char fileres[], cha Line 4245  void printinggnuplot(char fileres[], cha
      fprintf(ficgp,"set xlabel \"Age\" \n\       fprintf(ficgp,"set xlabel \"Age\" \n\
 set ylabel \"Probability\" \n\  set ylabel \"Probability\" \n\
 set ter png small size 320, 240\n\  set ter png small size 320, 240\n\
 plot [%.f:%.f] \"%s\" every :::%d::%d u 1:2 \"\%%lf",ageminpar,fage,subdirf2(fileres,"vpl"),k1-1,k1-1);  plot [%.f:%.f] \"%s\" every :::%d::%d u 1:2 \"%%lf",ageminpar,fage,subdirf2(fileres,"vpl"),k1-1,k1-1);
   
      for (i=1; i<= nlstate ; i ++) {       for (i=1; i<= nlstate ; i ++) {
        if (i==cpt) fprintf(ficgp," \%%lf (\%%lf)");         if (i==cpt) fprintf(ficgp," %%lf (%%lf)");
        else        fprintf(ficgp," \%%*lf (\%%*lf)");         else        fprintf(ficgp," %%*lf (%%*lf)");
      }       }
      fprintf(ficgp,"\" t\"Period (stable) prevalence\" w l lt 0,\"%s\" every :::%d::%d u 1:($2+1.96*$3) \"\%%lf",subdirf2(fileres,"vpl"),k1-1,k1-1);       fprintf(ficgp,"\" t\"Period (stable) prevalence\" w l lt 0,\"%s\" every :::%d::%d u 1:($2+1.96*$3) \"%%lf",subdirf2(fileres,"vpl"),k1-1,k1-1);
      for (i=1; i<= nlstate ; i ++) {       for (i=1; i<= nlstate ; i ++) {
        if (i==cpt) fprintf(ficgp," \%%lf (\%%lf)");         if (i==cpt) fprintf(ficgp," %%lf (%%lf)");
        else fprintf(ficgp," \%%*lf (\%%*lf)");         else fprintf(ficgp," %%*lf (%%*lf)");
      }        } 
      fprintf(ficgp,"\" t\"95\%% CI\" w l lt 1,\"%s\" every :::%d::%d u 1:($2-1.96*$3) \"\%%lf",subdirf2(fileres,"vpl"),k1-1,k1-1);        fprintf(ficgp,"\" t\"95%% CI\" w l lt 1,\"%s\" every :::%d::%d u 1:($2-1.96*$3) \"%%lf",subdirf2(fileres,"vpl"),k1-1,k1-1); 
      for (i=1; i<= nlstate ; i ++) {       for (i=1; i<= nlstate ; i ++) {
        if (i==cpt) fprintf(ficgp," \%%lf (\%%lf)");         if (i==cpt) fprintf(ficgp," %%lf (%%lf)");
        else fprintf(ficgp," \%%*lf (\%%*lf)");         else fprintf(ficgp," %%*lf (%%*lf)");
      }         }  
      fprintf(ficgp,"\" t\"\" w l lt 1,\"%s\" every :::%d::%d u 1:($%d) t\"Observed prevalence \" w l lt 2",subdirf2(fileres,"p"),k1-1,k1-1,2+4*(cpt-1));       fprintf(ficgp,"\" t\"\" w l lt 1,\"%s\" every :::%d::%d u 1:($%d) t\"Observed prevalence \" w l lt 2",subdirf2(fileres,"p"),k1-1,k1-1,2+4*(cpt-1));
    }     }
Line 4253  plot [%.f:%.f] \"%s\" every :::%d::%d u Line 4272  plot [%.f:%.f] \"%s\" every :::%d::%d u
           
     for (i=1; i<= nlstate+1 ; i ++) {      for (i=1; i<= nlstate+1 ; i ++) {
       k=2*i;        k=2*i;
       fprintf(ficgp,"\"%s\" every :::%d::%d u 1:2 \"\%%lf",subdirf2(fileres,"t"),k1-1,k1-1);        fprintf(ficgp,"\"%s\" every :::%d::%d u 1:2 \"%%lf",subdirf2(fileres,"t"),k1-1,k1-1);
       for (j=1; j<= nlstate+1 ; j ++) {        for (j=1; j<= nlstate+1 ; j ++) {
         if (j==i) fprintf(ficgp," \%%lf (\%%lf)");          if (j==i) fprintf(ficgp," %%lf (%%lf)");
         else fprintf(ficgp," \%%*lf (\%%*lf)");          else fprintf(ficgp," %%*lf (%%*lf)");
       }           }   
       if (i== 1) fprintf(ficgp,"\" t\"TLE\" w l ,");        if (i== 1) fprintf(ficgp,"\" t\"TLE\" w l ,");
       else fprintf(ficgp,"\" t\"LE in state (%d)\" w l ,",i-1);        else fprintf(ficgp,"\" t\"LE in state (%d)\" w l ,",i-1);
       fprintf(ficgp,"\"%s\" every :::%d::%d u 1:($2-$3*2) \"\%%lf",subdirf2(fileres,"t"),k1-1,k1-1);        fprintf(ficgp,"\"%s\" every :::%d::%d u 1:($2-$3*2) \"%%lf",subdirf2(fileres,"t"),k1-1,k1-1);
       for (j=1; j<= nlstate+1 ; j ++) {        for (j=1; j<= nlstate+1 ; j ++) {
         if (j==i) fprintf(ficgp," \%%lf (\%%lf)");          if (j==i) fprintf(ficgp," %%lf (%%lf)");
         else fprintf(ficgp," \%%*lf (\%%*lf)");          else fprintf(ficgp," %%*lf (%%*lf)");
       }           }   
       fprintf(ficgp,"\" t\"\" w l lt 0,");        fprintf(ficgp,"\" t\"\" w l lt 0,");
       fprintf(ficgp,"\"%s\" every :::%d::%d u 1:($2+$3*2) \"\%%lf",subdirf2(fileres,"t"),k1-1,k1-1);        fprintf(ficgp,"\"%s\" every :::%d::%d u 1:($2+$3*2) \"%%lf",subdirf2(fileres,"t"),k1-1,k1-1);
       for (j=1; j<= nlstate+1 ; j ++) {        for (j=1; j<= nlstate+1 ; j ++) {
         if (j==i) fprintf(ficgp," \%%lf (\%%lf)");          if (j==i) fprintf(ficgp," %%lf (%%lf)");
         else fprintf(ficgp," \%%*lf (\%%*lf)");          else fprintf(ficgp," %%*lf (%%*lf)");
       }           }   
       if (i== (nlstate+1)) fprintf(ficgp,"\" t\"\" w l lt 0");        if (i== (nlstate+1)) fprintf(ficgp,"\" t\"\" w l lt 0");
       else fprintf(ficgp,"\" t\"\" w l lt 0,");        else fprintf(ficgp,"\" t\"\" w l lt 0,");
Line 5437  int calandcheckages(int imx, int maxwav, Line 5456  int calandcheckages(int imx, int maxwav,
     return (1);      return (1);
 }  }
   
   #if defined(_MSC_VER)
   /*printf("Visual C++ compiler: %s \n;", _MSC_FULL_VER);*/
   /*fprintf(ficlog, "Visual C++ compiler: %s \n;", _MSC_FULL_VER);*/
   //#include "stdafx.h"
   //#include <stdio.h>
   //#include <tchar.h>
   //#include <windows.h>
   //#include <iostream>
   typedef BOOL(WINAPI *LPFN_ISWOW64PROCESS) (HANDLE, PBOOL);
   
   LPFN_ISWOW64PROCESS fnIsWow64Process;
   
   BOOL IsWow64()
   {
           BOOL bIsWow64 = FALSE;
   
           //typedef BOOL (APIENTRY *LPFN_ISWOW64PROCESS)
           //  (HANDLE, PBOOL);
   
           //LPFN_ISWOW64PROCESS fnIsWow64Process;
   
           HMODULE module = GetModuleHandle(_T("kernel32"));
           const char funcName[] = "IsWow64Process";
           fnIsWow64Process = (LPFN_ISWOW64PROCESS)
                   GetProcAddress(module, funcName);
   
           if (NULL != fnIsWow64Process)
           {
                   if (!fnIsWow64Process(GetCurrentProcess(),
                           &bIsWow64))
                           //throw std::exception("Unknown error");
                           printf("Unknown error\n");
           }
           return bIsWow64 != FALSE;
   }
   #endif
 void syscompilerinfo()  void syscompilerinfo()
  {   {
    /* #include "syscompilerinfo.h"*/     /* #include "syscompilerinfo.h"*/
    /* #include <gnu/libc-version.h> */ /* Only on gnu */     /* #include <gnu/libc-version.h> */ /* Only on gnu */
   #include <stdint.h>
    printf("Compiled with:");fprintf(ficlog,"Compiled with:");     printf("Compiled with:");fprintf(ficlog,"Compiled with:");
 #if defined(__clang__)  #if defined(__clang__)
    printf(" Clang/LLVM");fprintf(ficlog," Clang/LLVM"); /* Clang/LLVM. ---------------------------------------------- */     printf(" Clang/LLVM");fprintf(ficlog," Clang/LLVM"); /* Clang/LLVM. ---------------------------------------------- */
Line 5489  void syscompilerinfo() Line 5544  void syscompilerinfo()
 /* _WIN64  // Defined for applications for Win64. */  /* _WIN64  // Defined for applications for Win64. */
 /* _M_X64 // Defined for compilations that target x64 processors. */  /* _M_X64 // Defined for compilations that target x64 processors. */
 /* _DEBUG // Defined when you compile with /LDd, /MDd, and /MTd. */  /* _DEBUG // Defined when you compile with /LDd, /MDd, and /MTd. */
 #include <stdint.h>  
 #if UINTPTR_MAX == 0xffffffff  #if UINTPTR_MAX == 0xffffffff
    printf(" 32-bit."); /* 32-bit */     printf(" 32-bit.\n"); fprintf(ficlog," 32-bit.\n");/* 32-bit */
 #elif UINTPTR_MAX == 0xffffffffffffffff  #elif UINTPTR_MAX == 0xffffffffffffffff
   printf(" 64-bit.");/* 64-bit */     printf(" 64-bit.\n"); fprintf(ficlog," 64-bit.\n");/* 64-bit */
 #else  #else
  printf(" wtf-bit."); /* wtf */     printf(" wtf-bit.\n"); fprintf(ficlog," wtf-bit.\n");/* wtf */
 #endif  #endif
   
 struct utsname sysInfo;  /* struct utsname sysInfo;
   
    if (uname(&sysInfo) != -1) {     if (uname(&sysInfo) != -1) {
      printf(" %s %s %s %s %s\n",sysInfo.sysname, sysInfo.nodename, sysInfo.release, sysInfo.version, sysInfo.machine);       printf(" %s %s %s %s %s\n",sysInfo.sysname, sysInfo.nodename, sysInfo.release, sysInfo.version, sysInfo.machine);
Line 5506  struct utsname sysInfo; Line 5561  struct utsname sysInfo;
    }     }
    else     else
       perror("uname() error");        perror("uname() error");
             */
 #if defined(__GNUC__)  #if defined(__GNUC__)
 # if defined(__GNUC_PATCHLEVEL__)  # if defined(__GNUC_PATCHLEVEL__)
 #  define __GNUC_VERSION__ (__GNUC__ * 10000 \  #  define __GNUC_VERSION__ (__GNUC__ * 10000 \
Line 5518  struct utsname sysInfo; Line 5574  struct utsname sysInfo;
    printf("GNU C version %d.\n", __GNUC_VERSION__);     printf("GNU C version %d.\n", __GNUC_VERSION__);
    fprintf(ficlog, "GNU C version %d.\n", __GNUC_VERSION__);     fprintf(ficlog, "GNU C version %d.\n", __GNUC_VERSION__);
 #endif  #endif
   
      //   void main()
      //   {
 #if defined(_MSC_VER)  #if defined(_MSC_VER)
    printf("Visual C++ compiler: %s \n;", _MSC_FULL_VER);     if (IsWow64())
    fprintf(ficlog, "Visual C++ compiler: %s \n;", _MSC_FULL_VER);             printf("The process is running under WOW64.\n");
      else
              printf("The process is not running under WOW64.\n");
   
      //      printf("\nPress Enter to continue...");
      //      getchar();
      //   }
   
 #endif  #endif
         
   /* printf("GNU libc version: %s\n", gnu_get_libc_version()); */    /* printf("GNU libc version: %s\n", gnu_get_libc_version()); */

Removed from v.1.169  
changed lines
  Added in v.1.172


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>