Exemple #1
0
static void pr_difftime(FILE *out, double dt)
{
    int        ndays, nhours, nmins, nsecs;
    gmx_bool   bPrint, bPrinted;

    ndays    = static_cast<int>(dt/(24*3600));
    dt       = dt-24*3600*ndays;
    nhours   = static_cast<int>(dt/3600);
    dt       = dt-3600*nhours;
    nmins    = static_cast<int>(dt/60);
    dt       = dt-nmins*60;
    nsecs    = static_cast<int>(dt);
    bPrint   = (ndays > 0);
    bPrinted = bPrint;
    if (bPrint)
    {
        fprintf(out, "%d", ndays);
    }
    bPrint = bPrint || (nhours > 0);
    if (bPrint)
    {
        if (bPrinted)
        {
            pr_two(out, 'd', nhours);
        }
        else
        {
            fprintf(out, "%d", nhours);
        }
    }
    bPrinted = bPrinted || bPrint;
    bPrint   = bPrint || (nmins > 0);
    if (bPrint)
    {
        if (bPrinted)
        {
            pr_two(out, 'h', nmins);
        }
        else
        {
            fprintf(out, "%d", nmins);
        }
    }
    bPrinted = bPrinted || bPrint;
    if (bPrinted)
    {
        pr_two(out, ':', nsecs);
    }
    else
    {
        fprintf(out, "%ds", nsecs);
    }
    fprintf(out, "\n");
}
void pr_difftime(FILE *out,double dt)
{
  int    ndays,nhours,nmins,nsecs;
  bool   bPrint,bPrinted;

  ndays = dt/(24*3600);
  dt    = dt-24*3600*ndays;
  nhours= dt/3600;
  dt    = dt-3600*nhours;
  nmins = dt/60;
  dt    = dt-nmins*60;
  nsecs = dt;
  bPrint= (ndays > 0);
  bPrinted=bPrint;
  if (bPrint) 
    fprintf(out,"%d",ndays);
  bPrint=bPrint || (nhours > 0);
  if (bPrint) {
    if (bPrinted)
      pr_two(out,'d',nhours);
    else 
      fprintf(out,"%d",nhours);
  }
  bPrinted=bPrinted || bPrint;
  bPrint=bPrint || (nmins > 0);
  if (bPrint) {
    if (bPrinted)
      pr_two(out,'h',nmins);
    else 
      fprintf(out,"%d",nmins);
  }
  bPrinted=bPrinted || bPrint;
  if (bPrinted)
    pr_two(out,':',nsecs);
  else
    fprintf(out,"%ds",nsecs);
  fprintf(out,"\n");
}